mybatis generator如何定制JavaTypeResolver,使smallint类型的数据库字段在po中的类型为Integer?
一、问题概述
忙了一段时间的jenkins持续集成,又要开始开发任务了。这两天在用mybatis generator来逆向生成dao层工程。
其中一个问题在于,组长在设计表的时候,不少枚举使用了smallint类型,如下:

然后,mybatis generator就会针对smallint类型的列,生成short类型的java域。
我还是偏爱Integer,因为懒。懒得转来转去。
二、解决办法
修改mybatis generator使用的默认的JavaTypeResolver实现。
其默认实现为org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl,其中有如下的一段:

这个一猜就是,将smallint类型的字段,映射为Short类型的java域。
我的办法是将其默认实现类的内容复制,然后修改了上图中的标识处,然后配置到xml文件中。

上面就是我自定义的类型解析器,内容拷贝了默认实现。然后照下面这样修改了:

配置到xml:

差不多就这样。ok了。
三、源码
https://github.com/cctvckl/customed-mybatis-generator
mybatis generator如何定制JavaTypeResolver,使smallint类型的数据库字段在po中的类型为Integer?的更多相关文章
- Mybatis Generator(定制化)代码生成器
		1.使用Mapper专用的MyBatis Generator插件 通用Mapper在1.0.0版本的时候增加了MyBatis Generator(以下简称MBG)插件,使用该插件可以很方便的生成实体类 ... 
- [C#] 类型学习笔记一:CLR中的类型,装箱和拆箱
		在学习.NET的时候,因为一些疑问,让我打算把.NET的类型篇做一个总结.总结以三篇博文的形式呈现. 这篇博文,作为三篇博文的第一篇,主要探讨了.NET Framework中的基本类型,以及这些类型一 ... 
- MyBatis Generator 详解
		MyBatis Generator中文文档 MyBatis Generator中文文档地址:http://mbg.cndocs.tk/ 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中 ... 
- MyBatis Generator 详解 【转来纯为备忘】
		版权声明:版权归博主所有,转载请带上本文链接!联系方式:abel533@gmail.com 目录(?)[+] MyBatis Generator中文文档 运行MyBatis Generator X ... 
- mybatis  Generator配置文件详解
		这里按照配置的顺序对配置逐个讲解,更细的内容可以配合中文文档参照. 1. 配置文件头 <?xml version="1.0" encoding="UTF-8&quo ... 
- MyBatis Generator中文文档
		MyBatis Generator中文文档 MyBatis Generator中文文档地址: http://mbg.cndocs.tk/ 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看 ... 
- MyBatis Generator 详解(转)
		MyBatis Generator中文文档 MyBatis Generator中文文档地址:http://mbg.cndocs.tk/ 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中 ... 
- MyBatis Generator 详解  专题
		idea中有plugin可提高效率: http://www.henryxi.com/use-idea-mybatis-plugin-generate-mapper-files eg: <?xml ... 
- MyBatis学习总结_09_使用MyBatis Generator自动创建代码
		一.构建一个环境 1. 首先创建一个表: CREATE TABLE t_user ( USER_ID INT NOT NULL AUTO_INCREMENT, USER_NAME CHAR(30) N ... 
随机推荐
- 【翻译自mos文章】在RHEL7/OL7上安装Oracle 12.1.0.2的server端或者client时,报须要"compat-libstdc++"包
			在RHEL7/OL7上安装Oracle 12.1.0.2的server端或者client时,报须要"compat-libstdc++"包 来源于: Installation of ... 
- js sendBeacon
			页面性能日志: DNS解析耗时 TCP链接耗时 SSL安全链接耗时 网络请求耗时 DOM解析耗时 资源加载耗时 首包时间 白屏时间 首次可交换时间 Dom Ready时间 页面完全加载时间. 如某些统 ... 
- js eventLoop (使用chunk 同步变异步)
			https://www.cnblogs.com/xiaohuochai/p/8527618.html 线程 javascript是单线程的语言,也就是说,同一个时间只能做一件事.而这个单线程的特性,与 ... 
- 腾讯QQ积分CSRF导致积分任意挥霍(我的积分为什么少了)
			触发点:http://jifen.qq.com/html5/index.html?ADTAG=JIFEN.MART.INDEX 随意兑换一个商品: 因为刚才我已经兑换过了,所以积分没有了.. 没关系, ... 
- Android OpenGL ES 离屏渲染(offscreen render)
			通常在Android上使用OpenGL ES,都是希望把渲染后的结果显示在屏幕上,例如图片处理.模型显示等.这种情况下,只需要使用Android API中提供的GLSurfaceView类和Rende ... 
- [AngularJS]ng-repeat指令要点
			ng-repeat指令要点 1,基本格式,这里不作过多说明,需要的话查看文档 <div ng-repeat="item in someCollection [| someFilter: ... 
- fdisk   mkfs   blkid   fstab
			fdisk -l 查看系统分区信息 mkfs 制作文件系统mke2fs 制作ext型文件系统mkntfs 制作ntfs型文件系统 e2label 更改ext型文件系统卷标ntfslabel 更 ... 
- 用iostat对linux硬盘IO性能进行检测
			近期公司安装了几台DELL PE2650和2850的服务器,统一安装的是RHLE5.132位系统,而服务器的SCSI硬盘都统一做了raid1.公司老总要求对硬盘IO作统一检测报告,在Linux下找了许 ... 
- VCL 中的 Windows API 函数(1): AbortDoc
			AbortDoc: 该函数终止当前打印作业并删除最好一次调用 StartDoc 函数写入的所有信息. 该函数在 Printers 单元的应用:AbortDoc(Canvas.Handle); 
- eclipse中断点不生效
			摘录自:http://blog.sina.com.cn/s/blog_496117520100kw6b.html Eclipse下Debug时弹出错误“Unable to install breakp ... 
