专栏首页凯哥Javaspringboot支付项目之springboot集成jpa
原创

springboot支付项目之springboot集成jpa

springboot集成spring-jpa

本文主要内容:

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如下:

<!-- mysql 相关的依赖-->

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

</dependency>

<!-- jpa相关依赖-->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-jpa</artifactId>

</dependency>

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

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

点击更新就可以了。

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

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方式:

说明:

@Entity:spring-jpa实体注解

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

@Id:jpa的主键注解

@GeneratedValue:注解生成策略

3.2:创建repository接口对象

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

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

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

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

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

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

运行结果:

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

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

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

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

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • POI 操作word

    关于POI 操作word的基础知识在这个博客(http://elim.iteye.com/blog/2049110)中有非常清晰的解释,在这里我就不多解释了 

    凯哥Java
  • spring boot框架学习13-spring boot整合active mq方法2

    mybatis和spring boot整合、redis(单机版)和spring boot整合、redis(集群)和spring boot整合、httpclien...

    凯哥Java
  • MySQL 读写分离

    MySQL Proxy最强大的一项功能是实现“读写分离(Read/Write Splitting)”。基本的原理是让主数据库处理事务性查询,而从数据库处理SEL...

    凯哥Java
  • canvas 绘点图

    deepcc
  • JS高级-数据结构的封装

    最近在看了《数据结构与算法JavaScript描述》这本书,对大学里学的数据结构做了一次复习(其实差不多忘干净了,哈哈)。如果能将这些知识捡起来,融入到实际工作...

    小古哥
  • requirejs、vue、vuex、vue-route的结合使用,您认为可行吗?

         在五一节之前和一网友讨论前端技术时,对方提到vue、vue-route如果配合requirejs应用。当时的我没有想得很明白,也没能这位网友一个准确的...

    sam dragon
  • VUE+WebPack前端游戏设计:实现物体的拖拽动态特效

    望月从良
  • ArcGIS Image Server简介以及OL2中的加载

    本文讲述Arcgis Image Server相关以及在OL2中如何加载Arcgis Server发布的影像服务。

    lzugis
  • Mybatis深入源码分析之SqlSessionFactoryBuilder源码分析

    通过上述代码可知:使用了门面模式:定义了Resource类,把复杂过程封装起来,方便用户使用,返回reader为InputStreamReader,指的是读取的...

    须臾之余
  • h5小游戏——HitRocket

    一.游戏介绍 游戏介绍: 不断有携带字母炸弹的火箭撞向地面,请根据火箭身上的字母敲击键盘,每一次对应的敲击会击落携带该字母的火箭并使得分加一,每一架火箭撞到地...

    lonelydawn

扫码关注云+社区

领取腾讯云代金券