mybatis使用generator自动生成代码时的类型转换

使用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;
	}

时间: 2024-07-28 17:14:08

mybatis使用generator自动生成代码时的类型转换的相关文章

MyBatis使用Generator自动生成代码

MyBatis中,可以使用Generator自动生成代码,包括DAO层. MODEL层 .MAPPING SQL映射文件. 第一步:下载MyBatis的Generator工具 http://mybatis.github.io/generator/ 第二步:配置自动生成代码所需的XML配置文件,例如(generator.xml) 将这个文件保存至你下载的mybatis-generator-core-1.3.2文件夹下 第三步:进入XML配置文件(generator.xml)所在的的目录并执行命令:

SpringBoot 添加mybatis generator 自动生成代码插件

自动生成数据层代码,提高开发效率 1.pom添加插件,并指定配置文件路径 <!-- mybatis generator 自动生成代码插件 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.5</version> <

Spring 中使用 Mybatis generator 自动生成代码

Mybatis generator 是一个 Mybatis 插件,可以用于自动生成项目中需要的 pojo 类.对应的 Mapper 接口和 mapper.xml 文件.使用该插件,一方面可以节省开发时间,另一方面也避免手写时打错字的问题. 由于工作需要,我打算在原有的 Spring 项目中使用 Mybatis generator 自动生成代码,以便简化 DAO 层的开发. 闲言少叙,just do it! 1. 引入依赖 a. 父模块配置 <properties> <spring_ver

idea中mybatis generator自动生成代码配置 数据库是sqlserver

好长时间没有写博客了,最近公司要用java语言,开始学习java,属于初学者,今天主要记录一下mybatis generator自动生成代码,首先在如下图的目录中新建两个文件,如下图 generatorConfig.xml and jdbc.properties都要放在resource根目录下 具体generatorConfig.xml内容如下: <?xml version="1.0" encoding="UTF-8"?>   <!DOCTYPE

Mybaits Generator自动生成代码

终于有空看看自动生成代码这块.看起容易上手,但功能强大. 下载Mybaits Generator:https://github.com/mybatis/generator/releases 这就是个单独的工具,也有集成到别的工具里的,先不管,用单独的试下.关键是用到这个JAR:mybatis-generator-core-1.3.2.jar  单独拿出来用就可以. 另外就是需要一个连接数据库的驱动程序,我用的是mongodb数据库,驱动是:mysql-connector-java-3.1.13-

使用Mybatis的逆向工程自动生成代码

1.逆向工程的作用 Mybatis 官方提供了逆向工程,可以针对数据库表自动生成Mybatis执行所需要的代码(包括mapper.xml.Mapper.java.pojo). 2.逆向工程的使用方法 逆向工程需要的jar包如下图所示: 也可以直接下载我Github上面的源代码(https://github.com/nnngu/generatorSqlmapCustom ),在 lib 目录下已经添加了需要的 jar 包. 下载下来的项目目录如下图: 从上图中看,①是依赖的jar包.②是配置文件.

mybatis使用generator自己主动生成代码时的类型转换

使用mybatis的generator自己主动生成代码,可是oracle数据库中number(6,2)总是自己主动转成BigDecimal.我想要转成的是float类型 这样就写了一个类型转换器,须要继承JavaTypeResolver接口 然后在mybaties配置文件generatorConfig.xml中类型转换配置位置加入上就可以 <javaTypeResolver type="com.generator.MyJavaTypeResolver"> <prope

Mybatis使用generator自动生成映射配置文件信息

 使用mybatis配置映射文件比较的麻烦,但是有自动生成jar工具,方便加速开发速度,下面主要是该工具的使用以及相关的配置. 1.下载相关的资源 我们需要下载mybatis-generator-core-1.3.2.jar,mysql-connector-java-5.1.34.jar(对应相关数据库的驱动包),generator.xml(配置文件)  我的网盘全部相关下载地址:http://pan.baidu.com/s/1ntn48pb 下载解压后会有 generator.xml  和两个

Mybatis_plus 自动生成代码时因为下划线造成的问题

1.oracle 在Mybatis_plus执行首先会进行一系列的配置,在配置的时候要注意: 1.StrategyConfig.setTablePrefix设置表名前缀 这一步可能会造成一些影响 2.DataSourceConfig.setDbType(DbType.ORACLE) 要注意这句话,要加上. 3.也是我折腾了半天时间的问题:strategy.setInclude()  设置表名 在Oracle的时候,如果你在写表名的时候,写成小写:那么你可能会发现文件夹生成了,但是没有java文件