読者です 読者をやめる 読者になる 読者になる

修行@ホーチミン

ホーチミン長期出張の日記です

SpringBootでDB接続①

今までなんとなく言語自体の勉強していたものの

実際の開発とかAPIの仕組みとかWEBアプリの仕組みとかがほとんど分かっていない状態のスタート。

最初の課題がかなり難易度が高そうで...

ここにきてもっとちゃんとした勉強方法があることを知って後悔 & 焦りですが、前向きにがんばります。

フレームワークには今流行りのSpringBootを使うということで、まじめに勉強しました。

※ちゃんと題目の通りに修行します。

現時点では

RequestDB接続Response

の簡単なAPIを作ったりすることで、なんとなく理解できてきました。

分かったことや感想など

  • アノテーションが豊富でControllerクラスなど直感的で分かりやすい。
  • Entityクラスとテーブルが自動でマッピングがされること。
  • JPA継承したRepositoryクラスでクエリを使わずに簡単にデータ操作ができること。
  • 設定ファイルの記載が簡単。
  • Lombok利用でgetter/setter/constructorなどの自動生成が便利。

などなど、初心者向けのフレームワークといわれているだけあって分かりやすかったです。

※だいぶ初歩的な内容ですが、ご了承ください...。

実際に動かしてみる

使用したもの
  • 設定ファイル(application.yml)
  • Controllerクラス
  • Serviceクラス
  • Repositoryクラス
  • Entityクラス
  • Applicationクラス
  • Requestクラス
    • header
    • body
  • Responseクラス
    • status
    • header
    • body
  • MySQL
Request & Response

curlコマンド使ってRequest投げたら、テーブルの情報が格納されたResponseが返ってきました。

xxx@xxx:~$ curl http://localhost:8080/hotel/list -X POST -H "Content-Type: application/json" -d "{\"header\": {\"uid\": \"00000\", \"languageCode\": \"US\",\"countryCode\": \"US\", \"currencyCode\": \"USD\"},\"body\": {\"query\": \"SELECT * FROM HTL\"}}"
{"status":200,"header":{"uid":"00000","languageCode":"US","countryCode":"US","currencyCode":"USD","userAgent":null,"userIp":null},"body":{"items":[{"id":4110,"name":"Resorts Casino Hotel Atlantic City","latitude":null,"longitude":null}],"pagination":{"pageNum":0,"pageSize":50,"totalPageCount":0,"totalItemCount":0}}}