spring boot+jpa+postgresql 配置和遇到
环境:spring boot+jpa+postgresql(总结参考了其他博文)
1、首先设置连接数据库pom的依赖:
<!-- 数据库-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
2、application.properties中pgsql数据库连接的配置(可自行改为yml文件形式):
spring.datasource.url=jdbc:postgresql://localhost:5432/table_name
spring.datasource.username=postgres
spring.datasource.password=********
spring.datasource.driverClassName=org.postgresql.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.properties.hibernate.hbm2ddl.auto=update
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
#在控制台打印运行的sql语句:
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
#防止启动时打印出“java.sql.SQLFeatureNotSupportedException: 这个 org.postgresql.jdbc.PgConnection.createClob() 方法尚未被实作。”的异常:
properties.hibernate.temp.use_jdbc_metadata_defaults=false
3、基本在以上步骤就可以连接postgerSQL了,我使用jpa进行内部的数据库设置:
###创建实体表时,user 在 postgresql 中为保留关键字,所以如果你persist一个名为User的类的时候就会报语法错误。在这个地方搞了好久,偶然在一个博客上看到的,有相同问题的可以测试一下:
数据库实体表
持久层(jpa已经集成了基本的增删改查,也可如图来扩展):
持久层
控制层:
控制层
本文标题:spring boot+jpa+postgresql 配置和遇到
本文链接:https://www.haomeiwen.com/subject/tzysdctx.html
网友评论