tk mybatis generator 生成实体类,smallint会被转换为Short的问题

最新项目中,搭建框架的人使用的是 tk mybatis,这个开源项目地址为:https://github.com/abel533/Mapper.

使用提供的generator,从数据库表生成实体类的时候,发现把smallint(2)的转换为了Short类型,但是项目中需要把它用作Integer类型,所以需要做一下修改。

第一步,

自定义一个JavaTypeResovler,把对SMALLINT处理的地方,从Short.class.getName()改为Integer.class.getName()即可。

public class MyJavaTypeResovler extends JavaTypeResolverDefaultImpl {

    public MyJavaTypeResovler(){
        super();
        this.typeMap.put(5, new JavaTypeResolverDefaultImpl.JdbcTypeInformation("SMALLINT", new FullyQualifiedJavaType(Integer.class.getName())));
    }
}

第二步,

在generatorConfig.xml增加一下配置。

        <javaTypeResolver type="tk.mybatis.mapper.generator.resolver.MyJavaTypeResovler"></javaTypeResolver>
        <!--MyBatis 生成器只需要生成 Model-->
        <javaModelGenerator targetPackage="test.model" targetProject="src/test/java"/>

这样重新生成就可以了。

 


PS:天下文章一大抄,百度出来的好多个网站的内容都是一样的,还解决不了问题,真是.....唉


版权声明:本文为tang_xiao_yang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。