参考这篇问题基本就能生成了:http://blog.csdn.net/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())));