Quantcast
Channel: かずきのBlog@hatena
Viewing all articles
Browse latest Browse all 1387

Spring Bootでデータベースを扱う

$
0
0

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を発行する機能があったりします。

2. JPA Repositories

リポジトリを使うクラスでは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";
    }
}

これはお手軽だわ。


Viewing all articles
Browse latest Browse all 1387

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>