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支付项目》。凯哥个人博客:www.kaigejava.com

一:相关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方法的。

springboot支付项目之springboot集成jpa的更多相关文章

  1. springboot支付项目之日志配置

    日志框架 本节主要内容: 1:常见的几种日志框架 2:Logback的使用 3:怎么配置info和error级别日志到不同文件中并且按照日期每天一个文件. 以上几个框架可以分类如下: SLF4J和Lo ...

  2. springboot 集成 jpa/hibernate

    pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  3. Spring Data JPA系列2:SpringBoot集成JPA详细教程,快速在项目中熟练使用JPA

    大家好,又见面了. 这是Spring Data JPA系列的第2篇,在上一篇<Spring Data JPA系列1:JDBC.ORM.JPA.Spring Data JPA,傻傻分不清楚?给你个 ...

  4. 如何在spring-boot web项目中启用swagger

    swagger的三个项目及其作用 我们打开swagger的官网,会发现有三个swagger相关的项目,它们分别是 swagger-editor 作用是通过写代码,生成文档描述(一个json文件或其他格 ...

  5. SpringBoot Druid整合,SpringBoot 集成Druid

    SpringBoot Druid整合,SpringBoot 集成Druid ================================ ©Copyright 蕃薯耀 2018年4月8日 http ...

  6. Github 上 10 个值得学习的 Springboot 开源项目

    Spring Boot 几乎继承了所有 Spring 框架的优点,同时还可以让项目的配置更简化.编码更简化.部署更方便.近两年受到很多开发者的追捧,也是火热的不行! 下面给大家整理了 10 个 Git ...

  7. SpringBoot中Shiro使用Pac4j集成CAS认证

    SpringBoot中Shiro使用Pac4j集成CAS认证 Pac4j 简介 Pac4j与Shiro,Spring Security一样都是权限框架,并且提供了OAuth - SAML - CAS ...

  8. SpringBoot图文教程8 — SpringBoot集成MBG「代码生成器」

    有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...

  9. SpringBoot图文教程14—SpringBoot集成EasyExcel「上」

    有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...

随机推荐

  1. c#中的Task异步编程

    https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/index翻译 1. 引入 Task异步 ...

  2. Springboot 2.x 如何解决重复提交 (本地锁的实践)

    有没有遇到过这种情况:网页响应很慢,提交一次表单后发现没反应,然后你就疯狂点击提交按钮(12306就经常被这样怒怼),如果做过防重复提交还好,否则那是什么级别的灾难就不好说了... 本文主要是应用 自 ...

  3. JDK安装 - Linux环境

    JDK安装 - Linux环境 1. 下载 :https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-21331 ...

  4. html+css新特性

    audio 音频 viedeo  视频 <audio src = ""02.pogg" controls = "controls"> lo ...

  5. 关于 SQL Server 数据库批量备份与还原的一些 Tips

    一.前提 最近需要将服务器 A 上的数据库全部备份,并在服务器 B 上进行还原,30多个数据库一个一个地用鼠标点,先是 backup,之后时 restore……整个过程实在是太浪费时间了!于是直接写一 ...

  6. java设计模式--六大原则

    一.单一职责原则 单一职责原则:就一个类而言,应该仅有一个引起它变化的原因.通俗来说,就是互相不相关的属性和方法不要放在一个类中,就好比之前简单工厂模式中介绍的那样,客户端(Customer)应该与工 ...

  7. BeanFactory和ApplicationContext的区别(Bean工厂和应用上下文)

    https://blog.csdn.net/qq_20757489/article/details/88543252 https://blog.csdn.net/pythias_/article/de ...

  8. 吴裕雄--天生自然 PHP开发学习:高级

    <?php echo date("Y/m/d") . "<br>"; echo date("Y.m.d") . " ...

  9. PAT Advanced 1127 ZigZagging on a Tree (30) [中序后序建树,层序遍历]

    题目 Suppose that all the keys in a binary tree are distinct positive integers. A unique binary tree c ...

  10. Java--Json解析

    普通Json {"code":"S0000", "describe":"数据正常返回", "result&qu ...