Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SpringBootでAPI開発

Avatar for Naka Sho Naka Sho
October 17, 2023
130

 SpringBootでAPI開発

SpringBootでAPI開発

Avatar for Naka Sho

Naka Sho

October 17, 2023
Tweet

Transcript

  1. 本日の プレゼンテーション 主要トピック 環境構築(JDK,IntelliJ,Docker) Spring Bootの設定 hello worldを出してみよう docker でimage作ってみよう

    docker でSpring Bootを起動させてみよ う データベースに接続してみよう データベースにデータを登録してみよう データベースのデータを削除してみよう
  2. Mac,Linux 向け sdkman から DL(windows な らwsl でも可) https://sdkman.io/ sdk

    list java sdk install java 17.0.1-open sdk default java 17.0.1-open
  3. Spring Boot の設定 https://start.spring.io/ ProjectをGradle Groovy、Dependenciesに spring web を追加して GENERATEを押してください、

    https://start.spring.io/#!type=gradle- project&language=java&platformVersion=3.0. 1&packaging=jar&jvmVersion=17&groupId=co m.example&artifactId=demo&name=demo&d escription=Demo%20project%20for%20Sprin g%20Boot&packageName=com.example.dem o&dependencies=web
  4. docker でSpring Boot を起動させ てみよう docker でSpring Bootを起動させてみよう。 intelliJで起動してるSpring bootを止めて、以下のコマンドでdockerでspring

    bootを立ち上げてください。 同様に http://localhost:8080/hello にアクセスするとhello がレスポンスされ ます。 docker run -it --rm -p 8080:8080 demo/demo:v0.0.1
  5. データベースに接続してみよう persistenseというパッケージを新規で作成し、二つのファイルを作成します package com.example.demo.persistense; import org.apache.ibatis.annotations.Lang; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select;

    import org.mybatis.scripting.freemarker.FreeMarkerLanguageDriver; import java.util.List; @Mapper public interface TestMapper { @Lang(FreeMarkerLanguageDriver.class) @Select(""" select id, name from TEST """) List<Test> getAll(); }
  6. TestMapperに insertメソッドを追加してみましょう。 @Lang(FreeMarkerLanguageDriver.class) @Insert(""" insert into TEST values (<@p name="id"/>,

    <@p name="name"/>) """) void insert(@Param("id") Integer id, @Param("name") String name); データベースにデータを登録して みよう