mybatis使用generator自己主动生成代码时的类型转换
2024-08-31 08:24:57
使用mybatis的generator自己主动生成代码,可是oracle数据库中number(6,2)总是自己主动转成BigDecimal。我想要转成的是float类型
这样就写了一个类型转换器,须要继承JavaTypeResolver接口
然后在mybaties配置文件generatorConfig.xml中类型转换配置位置加入上就可以
<javaTypeResolver type="com.generator.MyJavaTypeResolver">
<property name="forceBigDecimals" value="false" /> <!-- 类型解析器 -->
</javaTypeResolver>
类型转换器MyJavaTypeResolver主要代码
public FullyQualifiedJavaType calculateJavaType(
IntrospectedColumn introspectedColumn) {
// TODO Auto-generated method stub
FullyQualifiedJavaType answer;
JdbcTypeInformation jdbcTypeInformation = typeMap
.get(introspectedColumn.getJdbcType()); if (jdbcTypeInformation == null) {
switch (introspectedColumn.getJdbcType()) {
case Types.DECIMAL:
case Types.NUMERIC:
if(introspectedColumn.getScale() > 0)
{//假设包括小数点则转换成float
answer = new FullyQualifiedJavaType(Float.class.getName());
}else{
if ( introspectedColumn.getLength() > 18
|| forceBigDecimals) {
answer = new FullyQualifiedJavaType(BigDecimal.class
.getName());
} else if (introspectedColumn.getLength() > 9) {
answer = new FullyQualifiedJavaType(Long.class.getName());
} else if (introspectedColumn.getLength() > 4) {
answer = new FullyQualifiedJavaType(Integer.class.getName());
} else {
answer = new FullyQualifiedJavaType(Short.class.getName());
}
}
break; default:
answer = null;
break;
}
} else {
answer = jdbcTypeInformation.getFullyQualifiedJavaType();
} return answer;
}
最新文章
- Android语录
- 类似于QQ的简单的聊天代码
- UiAutomator自动化测试框架介绍
- 初学Node(五)文件I/O
- SWFUpload接受服务器Action返回的参数
- Linux下vim配置详解
- LNMP安装WordPress3.4.2看不到主题解决方法
- RedHat6.5网卡问题总结
- SpringBoot的几个使用技巧
- JavaEE中的MVC(三)定制Struts——命令模式
- 高性能网络服务器编程:为什么linux下epoll是最好,Netty要比NIO.2好?
- [转]Chrome 错误代码:ERR_UNSAFE_PORT
- Kali学习笔记38:文件上传漏洞
- 13、spark-submit
- angular 2 animation 结构笔记 version 4.2.2
- spring boot配置统一异常处理
- javascript 利用冒泡机制显示与隐藏模态框
- ThreadUtil 多线程处理List,回调处理具体的任务
- OpenSAML2.X 在SSO系统中的应用
- Android 布局方式学习