本文主要是介绍【开源项目】Dynamic-add-date的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
介绍
Dynamic-add-date是基于Mybatis插件原理开发的可以动态在Insert
和Update
Sql语句中添加日期列和对应的值的插件。
要求
- Maven
- 支持jdk7及之后的版本
- MySql(其它数据库暂未测试)
功能
- 自定义要生成的日期列的名称
- 自动处理原始Sql语句中已包含自定义日期列名
- 支持批量插入、批量更新Sql日期列的生成
- 支持忽略表,表名支持正则表达式
在你的应用中添加Dynamic-add-date
添加下面的依赖到你的pom文件中:
<dependency><groupId>io.github.yidasanqian</groupId><artifactId>dynamic-add-date</artifactId><version>1.0.4</version>
</dependency>
若使用Gradle/Grails:
compile 'io.github.yidasanqian:dynamic-add-date:1.0.4'
然后在mybatis-config.xml
配置文件中加入如下设置即可:
<plugins><plugin interceptor="io.github.yidasanqian.AddDateInterceptor"></plugin>
</plugins>
例如,原始Sql为:
insert into user(name, profession) values(?, ?)
使用该插件后Sql语句为:
insert into user(name, profession, gmt_create, gmt_modified) values(?, ?, '2017-10-15 10:10:10', '2017-10-15 10:10:10')
批量插入的情况:
insert into user(name, profession) values(?, ?), (?, ?), (?, ?)
使用该插件后Sql语句为:
insert into user(name, profession, gmt_create, gmt_modified) values(?, ?, '2017-10-15 10:10:10', '2017-10-15 10:10:10'),
(?, ?, '2017-10-15 10:10:10', '2017-10-15 10:10:10'), (?, ?, '2017-10-15 10:10:10', '2017-10-15 10:10:10')
默认新建日期的列名为 gmt_create
, 更新日期的列名为 gmt_modified
。
可以通过设置key createDateColumnName
和 updateDateColumnName
来分别指定日期列的名称:
<plugin interceptor="io.github.yidasanqian.AddDateInterceptor">
<property name="createDateColumnName" value="gmt_create"/>
<property name="updateDateColumnName" value="gmt_modified"/>
</plugin>
与Spring Boot集成
首先mybatis依赖
<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.1</version>
</dependency>
也是在mybatis-config.xml
配置文件中加入如下设置:
<plugin interceptor="io.github.yidasanqian.AddDateInterceptor"><property name="createDateColumnName" value="gmt_create"/><property name="updateDateColumnName" value="gmt_modified"/></plugin>
然后在 application.properties
加入如下配置即可:
mybatis.config-location=classpath:mybatis-config.xml
忽略表
实际应用中并不是所有的表都需要创建时间和更新时间字段,如何设置忽略处理的表呢?
也是在mybatis-config.xml
配置文件中加入如下设置:
<plugins><plugin interceptor="io.github.yidasanqian.AddDateInterceptor"><property name="ignoreTables" value="^user.*, permission"/></plugin>
</plugins>
其中name=ignoreTables
属性值为固定,不能变,value的格式:表名, 表名
。
其中value的值为表名,支持正则表达式,且多个表名以英文逗号,
分隔。
GitHub:https://github.com/yidasanqian/dynamic-add-date
码云:https://gitee.com/yidasanqian/dynamic-add-date
这篇关于【开源项目】Dynamic-add-date的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!