MBG部分配置技巧

2024-06-06 20:31:39 浏览数 (2)

mybatisGenerator配置相关。

常见的配置以及简单的生成功能在网上已经很多资料。有些难以关注甚至被忽略的点这里备注一下。

1、context的targetRuntime参数

这个字段用于生成的文件内容复杂度。

context的targetRuntime参数

javaClientGenerator的type参数

产生内容

说明

MyBatis3

XMLMAPPER

1、TTaskMapper接口,纯接口。 2、TTask,table对象。 3、TTaskExample,table对象查询Example对象。 4、Mapper.Xml,sql,实现mapper接口的逻辑。

包含Expamle对象,支持多条件灵活查询。

ANNOTATEDMAPPER 注解实现

1、TTaskMapper。注解实现 @Delete({ "delete from t_task", "where Ftask_id = #{ftaskId,jdbcType=INTEGER}" }) int deleteByPrimaryKey(Integer ftaskId); 2、TTaskSqlProvider。注解实现不了的: @SelectProvider(type=TTaskSqlProvider.class, method="countByExample") long countByExample(TTaskExample example); 3、TTask。table对象 4、TTaskExample。查询辅助对象。

MIXEDMAPPER

结合两者。 Mapper接口有注解。同时部分实现在XML中,而无SqlProvider

MyBatis3Simple

XMLMAPPER

1、mapper接口,纯接口。 2、table对象。 3、mapperXml,sql,实现mapper接口的逻辑。 int deleteByPrimaryKey(Integer ftaskId); int insert(TTask record); TTask selectByPrimaryKey(Integer ftaskId); List<TTask> selectAll(); int updateByPrimaryKey(TTask record);

生成接口明显少于第一个。且无Expamle对象

ANNOTATEDMAPPER

1、TTaskMapper接口。注解实现。 都是很简单的sql,没看到复杂sql在哪里实现。毕竟上面复杂的会有SqlProvider实现。 2、table对象。

MIXEDMAPPER

报错

MyBatis3DynamicSql

无关

1、TTaskMapper接口,其中有@Generated注解,以及具体的实现,如: @Generated("org.mybatis.generator.api.MyBatisGenerator") @InsertProvider(type=SqlProviderAdapter.class, method="insert") int insert(InsertStatementProvider<TTask> insertStatement); @Generated("org.mybatis.generator.api.MyBatisGenerator") default int insert(TTask record) { return insert(SqlBuilder.insert(record) .into(TTask) .map(ftaskId).toProperty("ftaskId") .map(freqId).toProperty("freqId") .map(fdeliveryTestId).toProperty("fdeliveryTestId") .map(floginInfo).toProperty("floginInfo") .map(fjumpReason).toProperty("fjumpReason") .map(ffailReason).toProperty("ffailReason") .build() .render(RenderingStrategy.MYBATIS3)); } 2、TTaskDynamicSqlSupport,一个final class。 3、table 对象。

暂无尝试

。。。忽略,编辑器的bug,无法删除这多余的行。。。。

MyBatis3Kotlin

暂无尝试

暂无尝试

0 人点赞