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 | 暂无尝试 | 暂无尝试 |