参考这篇问题基本就能生成了:http://blog.youkuaiyun.com/p793049488/article/details/40422975#
自己实现时引入maven依赖:
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
一次性生成多张表的映射:
<!-- 配置表信息,这里每生成一张表,这里需要改变一次对应表名 -->
<table schema="icity_yuntv" tableName="%user%"
enableCountByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
enableUpdateByExample="false">
表名加%模糊匹配,此处不能指定domainObjectName 即生成的实体类的名字,默认会以表名驼峰格式生成。
另外按照默认的设置,会把数据库中tinyint类型匹配成java中的boolean,可以通过自定义JavaTypeResolver解决,JavaTypeResolver的默认实现是JavaTypeResolverDefaultImpl类,直接复制JavaTypeResolverDefaultImpl代码,改成这样:
public MyJavaTypeResolveImpl() {
this.typeMap.put(Integer.valueOf(2003), new MyJavaTypeResolveImpl.JdbcTypeInformation("ARRAY", new FullyQualifiedJavaType(Object.class.getName())));
this.typeMap.put(Integer.valueOf(-5), new MyJavaTypeResolveImpl.JdbcTypeInformation("BIGINT", new FullyQualifiedJavaType(Long.class.getName())));
this.typeMap.put(Integer.valueOf(-2), new MyJavaTypeResolveImpl.JdbcTypeInformation("BINARY", new FullyQualifiedJavaType("byte[]")));
// this.typeMap.put(Integer.valueOf(-7), new MyJavaTypeResolveImpl.JdbcTypeInformation("BIT", new FullyQualifiedJavaType(Boolean.class.getName())));
this.typeMap.put(Integer.valueOf(-7), new MyJavaTypeResolveImpl.JdbcTypeInformation("INTEGER", new FullyQualifiedJavaType(Integer.class.getName())));
this.typeMap.put(Integer.valueOf(2004), new MyJavaTypeResolveImpl.JdbcTypeInformation("BLOB", new FullyQualifiedJavaType("byte[]")));
this.typeMap.put(Integer.valueOf(16), new MyJavaTypeResolveImpl.JdbcTypeInformation("BOOLEAN", new FullyQualifiedJavaType(Boolean.class.getName())));
this.typeMap.put(Integer.valueOf(1), new MyJavaTypeResolveImpl.JdbcTypeInformation("CHAR", new FullyQualifiedJavaType(String.class.getName())));
this.typeMap.put(Integer.valueOf(2005), new MyJavaTypeResolveImpl.JdbcTypeInformation("CLOB", new FullyQualifiedJavaType(String.class.getName())));
把
this.typeMap.put(Integer.valueOf(-7), new MyJavaTypeResolveImpl.JdbcTypeInformation("BIT", new FullyQualifiedJavaType(Boolean.class.getName())));
改成
this.typeMap.put(Integer.valueOf(-7), new MyJavaTypeResolveImpl.JdbcTypeInformation("INTEGER", new FullyQualifiedJavaType(Integer.class.getName())));
本文介绍如何使用 MyBatis Generator 自动生成多张表的映射文件,并通过修改 JavaTypeResolver 解决 tinyint 类型匹配为 boolean 的问题。
465

被折叠的 条评论
为什么被折叠?



