最近在利用mybatis generator生成Oracle数据库对应的实体类时发现一个问题,特此记录下。
因为项目使用到了swagger2,所以想在生成实体类时通过表注释和字段注释生成对应的@ApiMode和@ApiModelProperty等注解。但是发现没有效果,经过查看源码发现OracleDatabaseMetaData类会判断remarksReporting属性的值是否为true,当为ture时才会获取注释。故只用在jdbcConnection配置中多加一条属性
即可。
源码如下:
package org.mybatis.generator.api;
public class MyBatisGenerator {
public void generate(ProgressCallback callback, Set contextIds,
Set fullyQualifiedTableNames, boolean writeFiles) throws SQLException,
IOException, InterruptedException {
// 只关注关键代码,前面代码没有复制进来
for (Context context : contextsToRun) {
// 重要的是该方法
context.introspectTables(callback, warnings,
fullyQualifiedTableNames);
}
// 后面的方法逻辑忽略
}
}
package org.mybatis.generator.config;
public class Context extends Pr