h2データベースでさくっと試してみました。
pom.xmlに以下の記述を追加。今回はh2なのでh2のjdbcドライバを追加してます。SQL ServerならSQL ServerのJDBCドライバを追加するといいと思います。
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><scope>runtime</scope></dependency>
そして、JPAのリポジトリを有効にするためAppクラスにEnableJpaRepositoriesアノテーションを追加します。
package okazuki.todoboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; @SpringBootApplication@EnableJpaRepositoriespublicclass App { publicstaticvoid main(String[] args) { SpringApplication.run(App.class, args); } }
あとはRepositoryインターフェースを定義しておしまい。
package okazuki.todoboot.repositories; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; import okazuki.todoboot.entities.Person; @Repositorypublicinterface PeopleRepository extends JpaRepository<Person, Integer> { }
このリポジトリに命名規約に従ったメソッドを生やすことで、任意のJPQLを発行する機能があったりします。
リポジトリを使うクラスではAutowiredでDIしてもらいます。
package okazuki.todoboot.controllers; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import okazuki.todoboot.repositories.PeopleRepository; @Controller@RequestMapping("/people") publicclass PeopleController { @Autowired PeopleRepository peopleRepotiroty; @RequestMapping(method = RequestMethod.GET) public String get(Model model) { model.addAttribute("people", this.peopleRepotiroty.findAll()); return"peopleList"; } }
これはお手軽だわ。