202109-28 解析Spring Data JPA的Audit功能之审计数据库变更 目录一、数据库审计二、SpringDataJPA审计2.1、项目准备2.2、创建实体父类2.3、如何获取名字2.4、测试三、总结一、数据库审计数据库审计是指当数据库有记录变更时,可以记录数据库的变更时间和变更人等,这样以后出问题回溯问责也比较方便。对于审计表记录的变更可以两种方式,一种是建立一张审计表专门用于记录,另一种是在数据库增加字段。本文所讨论的是第二种方案。那如何在新增、修改、删除的时候同时增加记录呢?如果每张... 继续阅读 >
202108-25 解决spring data jpa 批量保存更新的问题 springdatajpa批量保存更新问题使用jpa批量保存时,看日志发现是一条一条打印的,然后去看了下源码,果然是循环调用的单个保存(巨坑啊)经查询jpa是可以实现批量保存更新的,具体设置如下:spring.jpa.properties.hibernate.jdbc.batch_size=500spring.jpa.properties.hibernate.jdbc.batch_versioned_data=truespring.jpa.properties.hibernate.order_inserts=truespring.jpa.properties.hibernate.order_updates=true其中:... 继续阅读 >
202101-12 springdata jpa单表操作crud的实例代码详解 1.项目搭建使用boot整合,导入springdatajap,mysql驱动,lombok,web。1.1配置#bootaddjpa,oh~crudinsingletableserver:port:8888spring:#datasourcedatasource:username:rootpassword:123456driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://localhost:3306/mydatabase?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai#jpaconfigjpa:hibernate:#配置创... 继续阅读 >
202010-10 SpringData @Query和@Modifying注解原理解析 @Query注解查询适用于所查询的数据无法通过关键字查询得到结果的查询。这种查询可以摆脱像关键字查询那样的约束,将查询直接在相应的接口方法中声明,结构更为清晰,这是SpringData的特有实现。索引参数与命名参数1、索引参数如下所示,索引值从1开始,查询中"?X"个数需要与方法定义的参数个数相一致,并且顺序也要一致。 @Query("SELECTpFROMPersonpWHEREp.lastName=?1ANDp.email=... 继续阅读 >
202010-10 SpringData Repository接口用法解析 本节主要介绍Repository接口规范,及其子接口Repository是一个空接口,即标准接口若我们定义的接口继承了Repository,则该接口会被IOC容器识别为一个RepositotyBean纳入到IOC容器中。进而可以在该接口中定义满足一定规范的方法。实际上也可以通过注解的方式定义Repository接口packagecom.ntjr.springdata;importorg.springframework.data.repository.RepositoryDefinition;/****1、实现Repository接口2、通过注解的... 继续阅读 >
202010-10 SpringData Repository Bean方法定义规范代码实例 本节主要介绍RepositoryBean中方法定义规范。1、方法不是随便声明,需要符合一定的规范。2、按照SpringData的规范,查询方法以find|read|get开头,涉及条件查询时,条件的属性用条件关键字连接,要注意的是:条件属性需要首字母大写。3、SpringData支持的关键字如下:4、支持属性的级联查询,若当前类有符合条件的属性,则优先使用,而不使用级联属性。若想使用级联属性,则属性之间用"_"连接。packagecom.ntjr.springdata;imp... 继续阅读 >
202010-09 SpringData关键字查询实现方法详解 一、创建项目并导入Jap相关依赖1.1<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.10</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scop... 继续阅读 >