SpringBoot整合PostgreSQL结合Jpa的使用
2019-09-17 23:30:03.0
SpringBoot整合PostgreSQL,并结合Jpa使用。
PostgreSQL 是一个开源的功能强大的关系型数据库,类似于MySQL,但在某些方面比MySQL更强大。
Springboot整合PostgreSQL可通过以下步骤:
1. SpringBoot项目加入Jpa和PostgreSQL依赖
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-starter-web
org.postgresql
postgresql
runtime
本例使用的SpringBoot版本为 1.5.22.RELEASE 。
2. 配置postgresql数据源和jpa属性
spring:
datasource:
url: jdbc:postgresql://localhost:5432/postgres
username: postgres
password: root
driverClassName: org.postgresql.Driver
jpa:
show-sql: true
hibernate:
ddl-auto: update
properties:
hibernate:
dialect: org.hibernate.dialect.PostgreSQL9Dialect
temp:
use_jdbc_metadata_defaults: false
application.yml 配置如上图所示。
3. 新建实体类,加上@Entity注解
import javax.persistence.*
@Entity
class Student {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
long id
String name
int age
Date birthDay
}
当在实体类加上@Entity注解后,启动项目后便会自动创建出对应的数据表。创建的策略与配置项 spring.jpa.hibernate.ddl-auto 的值有关。
@Id 注解为指定数据表的主键。
@GeneratedValue 指定了主键的生成策略。
关于Jpa实体上的注解,可参考 《Jpa中,实体类相关的注解说明》。
4. 继承Jpa的xxxRepository接口操作数据库
/**
*
* @author yawn < http://jvm123.com >
* 2019/9/16 16:10
*/
interface StudentRepo extends JpaRepository {
Student save(Student person)
List findAll()
}
接口可继承 CrudRepository、PageAndSortingRepository、JpaRepository、 Repository ,继承不同的接口就具有不同的功能。具体可参考:《Springboot整合jpa的基本使用方法大全》。