Mybatis代码生成器Mybatis-Generator使用详解( 九 )

编程式自定义类型映射笔者喜欢把所有的非长整型的数字 , 统一使用Integer接收 , 因此需要自定义类型映射 。编写映射器如下:
public class DefaultJavaTypeResolver extends JavaTypeResolverDefaultImpl {public DefaultJavaTypeResolver() {super();typeMap.put(Types.SMALLINT, new JdbcTypeInformation("SMALLINT",new FullyQualifiedJavaType(Integer.class.getName())));typeMap.put(Types.TINYINT, new JdbcTypeInformation("TINYINT",new FullyQualifiedJavaType(Integer.class.getName())));}}此时最好使用编程式运行代码生成器 , 修改XML配置文件:
<javaTypeResolver type="club.throwable.mbg.DefaultJavaTypeResolver"><property name="forceBigDecimals" value=https://www.isolves.com/it/cxkf/kj/2021-08-12/"false"/>...运行方法代码如下:
public class Main {public static void main(String[] args) throws Exception {List<String> warnings = new ArrayList<>();// 如果已经存在生成过的文件是否进行覆盖boolean overwrite = true;ConfigurationParser cp = new ConfigurationParser(warnings);Configuration config = cp.parseConfiguration(Main.class.getResourceAsStream("/generator-configuration.xml"));DefaultShellCallback callback = new DefaultShellCallback(overwrite);MyBatisGenerator generator = new MyBatisGenerator(config, callback, warnings);generator.generate(null);}}数据库的order_status是TINYINT类型 , 生成出来的文件中的orderStatus字段全部替换使用Integer类型定义 。
小结本文相对详尽地介绍了Mybatis Generator的使用方式 , 具体分析了XML配置文件中主要标签以及标签属性的功能 。因为Mybatis在Java的ORM框架体系中还会有一段很长的时间处于主流地位 , 了解Mybatis Generator可以简化CRUD方法模板代码、实体以及Mapper接口代码生成 , 从而解放大量生产力 。Mybatis Generator有不少第三方的扩展 , 例如tk.mapper或者mybatis-plus自身的扩展 , 可能附加的功能不一样 , 但是基本的使用是一致的 。




推荐阅读