3. Spring Boot SQL Databases

說明

  • 嵌入式數據庫

    使用內存中的嵌入式數據庫開發應用程序通常很方便。顯然,內存數據庫不提供持久存儲。您需要在應用程序啓動時填充數據庫,並在應用程序結束時準備丟棄數據。

  • Spring Boot 會自動配置H2,HSQL,Derby 數據庫,只需要將依賴添加到 POM 文件中,本例採用H2

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
	<groupId>org.hsqldb</groupId>
	<artifactId>h2</artifactId>
	<scope>runtime</scope>
</dependency>
  • Spring Boot 會自動配置 DataSource 鏈接池,只需要在項目配置文件(application.properties)設置一些屬性,如下
spring.datasource.url=jdbc:mysql://localhost/test
spring.datasource.username=dbuser
spring.datasource.password=dbpass
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
  • Spring Boot 默認採用 Hibernate 作爲 JPA 實現

Spring Data JPA Repositories

src/
 +- main/
     +- java/
         +- com/
             +- lee/
                 +- springbootdemo/
                     +- pojo/
                         +- City.java
                     +- repository/
                         +- CityRepository.java
                     +- controller/
                         +- CityRestController.java
                     +- SpringBootDemoApplication.java
     +- resources/
         +- <other resource>

City.java

@Entity
public class City implements Serializable {

    @Id
    @GeneratedValue
    private Long id;

    @Column(nullable = false)
    private String name;

    @Column(nullable = false)
    private String state;

    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }

    public String getName() { return name; }
    public void setName(String name) { this.name = name; }

    public String getState() { return state; }
    public void setState(String state) { this.state = state; }
}

CityRepository.java

public interface CityRepository extends JpaRepository<City, Long> {}

CityRestController.java

@RestController
@RequestMapping("/city")
public class CityRestController {

    @Autowired
    private CityRepository cityRepository;

    @GetMapping("/{name}/{state}")
    public City city(@PathVariable String name, @PathVariable String state) {
        City city = new City();
        city.setName(name);
        city.setState(state);

        return cityRepository.save(city);
    }
}

運行應用程序,輸入url,如下
在這裏插入圖片描述

參考

  1. Spring Boot Data 官方文檔

上一篇:2. Spring Boot 編寫 Controller
下一篇:4. Spring Boot Caching Redis

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章