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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM