idea jpa方法 自动提示_springboot支付项目之springboot集成jpa

springboot集成spring-jpa

1d596fb7b5b6fffd8fdd3a4916ed4bed.png

本文主要内容:

1:spring boot怎么集成spring-jpa以及第一个jpa查询示例

如jpa几个常用注解、lombok注解使用

2:怎么设置idea中在pom中添加依赖的时候自动联想。

3:集成过程中遇到的问题及解决.如mysql时区问题、jpa懒加载问题。

我们遵从MVC三层模式,DAO层设计与开发、Service层设计与开发以及Controller层。

我们先来DAO层设计开发,Spring boot项目基础框架创建这里就省略。

本文出自:凯哥Java(kaigejava)

《spring boot支付项目》

一:相关jar依赖添加

因为使用到了mysql,在POM.XML文件中引入mysql相关jar及操作数据库相关的。这里我们使用的是spring-jpa来操作数据库。具体jra如下:

<dependency>

<groupId>mysqlgroupId>

<artifactId>mysql-connector-javaartifactId>

dependency>

<dependency>

<groupId>org.springframework.bootgroupId>

<artifactId>spring-boot-starter-data-jpaartifactId>

dependency>

在教大家一个idea怎么在pom文件中输入坐标时候联想,如下图:在输入atrifactid的时候可以联想到,如下图:

5aa46cdde6989d233724e6d61e7f234d.png
32662c45138dddb6d3b02b1e96f8bf2a.png

操作:file-->settings界面,依次找到:build,execution,Deployment-->Bulid Tools-->maven-->Repositories.如下图:

dc9059c713099f5e8375c5cf8ff9ddf0.png

点击更新就可以了。

二:数据库连接配置。这里我们使用的是yml格式的。配置如下图:

fe550b618b2026590b4353d0af6f5f95.png

spring:

datasource:

driver-class-name: com.mysql.cj.jdbc.Driver

username: root

password: 123456

url: jdbc:mysql://localhost/springboot-wxpay?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false

jpa:

show-sql: true

说明:

spring.jpa.show-sql=true.这句意思是:打印sql语句。

在url后面添加serverTimeizone=UTC是为了解决时区错误的问题。

三:创建实体及测试

3.1:创建ProductCategory实体对象。使用spring-jpa方式:

e7e2e0546870ec0f8874763ae9f7471e.png

说明:

@Entity:spring-jpa实体注解

@Data: lombok注解用于自动生产get/set方法的

@Id:jpa的主键注解

@GeneratedValue:注解生成策略

3.2:创建repository接口对象

839e3620996788b29b8fe8b0a420103e.png

说明:使用jpa的需要继承Jparepository这个对象(有多个,这里就用简单的)

其中泛型,我们查看源码:

9e8a42a623c744c2f5c60ea04576cf1f.png

T:实体对象的。也就是我们上面创建的ProductCategory对象

ID:实体对象的ID类型。我们使用的事Integer类型。所以这里就写Integer。

四:创建测试类,进行测试:

在IDEA中,创建测试类快捷键:选中类名之后,ctrl+shift+t。如下图:

73af5dc3e0faf2b03a53165c42277d5f.png
149b435c208eb306bb98ea06527d25d2.png

运行结果:

61d6f044a790132e1a27cb0e3ca81cda.png

在控制台上,我们可以看到hibernate打印的sql语句以及打印出查询的结果。说明springboot继承jpa成功。

如果出现could not initialize proyx的时候,如下图错误:

2e997727ae60f1e9aa07d30d0714d578.png

在实体上面添加@Proxy(lazy = false)

b38e1b00a7946fd87d85724cee4a0a6d.png

说明:@ToString 是直接添加toString方法的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值