Dynamic-add-date — это плагин, основанный на принципах работы Mybatis, который позволяет динамически добавлять столбцы с датой и соответствующие значения в операторы SQL INSERT и UPDATE.
Он решает проблему ограничения MySQL 5.6.5 и более ранних версий в отношении автоматической инициализации временных меток:
Требования:
Функции:
Чтобы добавить Dynamic-add-date в своё приложение, необходимо выполнить следующие шаги:
<dependency>
<groupId>io.github.yidasanqian</groupId>
<artifactId>dynamic-add-date</artifactId>
<version>1.1.0</version>
</dependency>
<plugins>
<plugin interceptor="io.github.yidasanqian.dynamicadddate.AddDateInterceptor">
</plugin>
</plugins>
insert into user(name, profession) values(?, ?)
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(?, ?), (?, ?), (?, ?)
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')
INSERT INTO t_user(username, mobile, create_at)
SELECT r.`name`, ?, r.create_at FROM t_role r;
INSERT INTO t_user (username, mobile, create_at, update_at) SELECT r.`name`, ?, '2019-07-06 10:36:51.066', '2019-07-06 10:36:51.066' FROM t_role r
<plugin interceptor="io.github.yidasanqian.dynamicadddate.AddDateInterceptor">
<property name="createDateColumnName" value="gmt_create"/>
<property name="updateDateColumnName" value="gmt_modified"/>
</plugin>
Для интеграции с Spring Boot необходимо выполнить следующее:
<!-- 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.4</version>
</dependency>
<plugin interceptor="io.github.yidasanqian.dynamicadddate.AddDateInterceptor">
<property name="createDateColumnName" value="gmt_create"/>
<property name="updateDateColumnName" value="gmt_modified"/>
</plugin>
@Bean
public AddDateInterceptor addDateInterceptor(){
Properties properties = new Properties();
properties.setProperty("createDateColumnName","gmt_create");
properties.setProperty("updateDateColumnName","gmt_modified");
AddDateInterceptor addDateInterceptor = new AddDateInterceptor();
addDateInterceptor.setProperties(properties);
return addDateInterceptor;
}
<plugins>
<plugin interceptor="io.github.yidasanqian.dynamicadddate.AddDateInterceptor">
<property name="ignoreTables"
``` 2) Создание Bean-компонента:
@Bean
public AddDateInterceptor addDateInterceptor(){
Properties properties = new Properties();
properties.setProperty("createDateColumnName","gmt_create");
properties.setProperty("updateDateColumnName","gmt_modified");
properties.setProperty("ignoreTables","^user.*,permission");
AddDateInterceptor addDateInterceptor = new AddDateInterceptor();
addDateInterceptor.setProperties(properties);
return addDateInterceptor;
}
Здесь атрибут name=ignoreTables
имеет фиксированное значение и не может быть изменён. Значение атрибута value имеет формат имя_таблицы, имя_таблицы
.
Значение атрибута value представляет собой имена таблиц, которые могут быть заданы с использованием регулярных выражений. Несколько имён таблиц разделяются запятой без пробела.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )