项目的目的是抽象出来Mybatis开发中的一些公共处理方案。
自动给 creator、creator_name、create_time、modifier、modifier_name、modify_time、remark字段赋值。
参考:cn.addenda.me.fieldfilling.sql.FieldFillingConvertorInsertTest
参考:cn.addenda.me.fieldfilling.sql.FieldFillingConvertorSelectTest
参考:cn.addenda.me.fieldfilling.sql.FieldFillingConvertorUpdateTest
delete语句不需要添加字段。
通过mybatis拦截器进行sql转换。参考:cn.addenda.me.fieldfilling.FieldFillingBootstrap。
alter table XXX
add column creator varchar(20) null;
alter table XXX
add column creator_name varchar(20) null;
alter table XXX
add column create_time bigint null;
alter table XXX
add column modifier varchar(20) null;
alter table XXX
add column modifier_name varchar(20) null;
alter table XXX
add column modify_time bigint null;
alter table XXX
add column remark varchar(50) null;
服务化的系统中,表都是需要有主键的,且不依赖数据库的主键生成策略(Oracle的序列,MySQL的自增主键)而是使用外部的ID生成算法。 ID填充就是将这些算法生成的ID填充到SQL语句中。
ID是填充到Entity里的,所以只有 Mapper#insert(TUser tUser); 这样的写法才能生效。
参考:cn.addenda.me.idfilling.IdFillingMybatisBootStrap
某些业务表的数据需要进行逻辑删除。将物理删除的sql转换为逻辑删除。
参考:cn.addenda.me.logicaldeletion.sql.LogicalDeletionConvertorInsertTest
参考:cn.addenda.me.logicaldeletion.sql.LogicalDeletionConvertorSelectTest
参考:cn.addenda.me.logicaldeletion.sql.LogicalDeletionConvertorUpdateTest
参考:cn.addenda.me.logicaldeletion.sql.LogicalDeletionConvertorDeleteTest
通过mybatis拦截器进行sql转换。参考:cn.addenda.me.fieldfilling.FieldFillingBootstrap。
系统的配置表,查询的时候,经常会需要 map 结构的数据,mapresulthandler的目的是方便从dao层的查询中获得一个map。 参考:cn.addenda.me.resulthandler.MapResultHandlerMybatisBootStrap
SQL解析器是个人开发的,运行此项目需要加入依赖。 地址:https://github.com/zhanjinhao/relational-operations-grammar。
1、