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-10-10 12:01:37

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

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

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

Mybatis自己主动生成代码

在mybatis自己主动生成代码有两种方式: 方式一:是通过使用eclipse作为开发工具.採用maven来构建项目生成的.以下的演示是通过第一种方式. 今天来记录下mybatis-generator插件自己主动生成xml mapper和model还有dao接口,这样我们就能够把精力放在业务代码上.而不须要关心数据库的详细操作. 这里我使用eclipse作为开发工具,採用maven来构建项目. 1. 编写pom.xml文件 这里仅仅有3个jar文件,数据库使用mysql <project xml

mybatis分页插件,自动生成代码插件

1.分页插件 在上一篇介绍拦截器中尝试了封装分页插件,其实有更好的mybatis分页插件PageHelper,具体用法: 1.导包 2.注册拦截器 3.写mapper 4.调用 结果如下: 结果pageInfo数据解析: 还有很多的属性,具体可以自己测试 2.自动生成代码 自动生成代码可以帮助我们生成实体类,mapper映射一级dao接口文件,减少代码量,使用方法: 1.导包: 2.编辑配置文件,配置文件的位置与上面配置中的位置要一致: <?xml version="1.0" e

2016.7.12 eclispe使用mybatis generator生成代码时提示project E is not exist

运行mybatis-generator之后,出现错误:project E is not exist 错误原因:使用了项目的绝对路径. http://bbs.csdn.net/topics/391491008 修改后的: 然后运行就没有问题了.

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

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

Table Generator 表格样式生成代码

<style type="text/css"> .tg {border-collapse:collapse;border-spacing:0;} .tg td{font-family:Arial, sans-serif;font-size:14px;padding:12px 14px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;} .tg th{font-family:Arial

mybatis generator生成代码工具的使用

mybatis generator生成代码工具的使用, 附demo 使用Hibernate时, 可以很方便的生成model,dao,和映射配置文件.在mybatis里, 也有生成器, 即mybatis generator, 简称MBG. 下面为大家介绍一下MBG的使用. 下载mybatis-generator-core-1.3.1-bundle.zip之后, 解压得到mybatis-generator-core-1.3.1.jar, 即生成器的jar包, 将mybatis-3.0.6.jar和m

mybatis自定义代码生成器(Generator)——自动生成model&amp;dao代码

花了两天的时间研究了下mybatis的generator大体了解了其生成原理以及实现过程.感觉generator做的非常不错,给开发者也留足了空间.看完之后在generator的基础上实现了自定义的生成器.代码start..... 建立了一个maven工程(common)项目结构: ----------------------------------------------------------------pom.xml-------------------------------------

mybatis Generator生成代码及使用方式

作者:偶尔记一下 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置. 本文中所有节点的链接都是对应的中文文档地址,可以点击查看详细信息. 注:本文后面提到的MBG全部指代MyBatis Generator. MyBatis Generator 1.3.4 扩展,可以设置 Mapper(Dao)后缀 运行MyBatis Generator 有4种运行MBG的方法,具体请看文档 运行 My