Mybatis解决空字符串保存入Mysql数字字段的类型转换问题
2011-05-03 14:57
627 查看
我们在使用Mysql的过程中,经常会碰到无法将空字符串写入数字字段的问题。下面我将用Mybatis的类型处理器特性来解决这个问题。首先创建类型处理器类。
接着将类型处理器配置到Mybatis的配置文件中
这样就完成了我们保存Mysql空字符串的问题了。同样也可以修改上面的处理器,对字段进行缺省值的设置。
package com.newpage.common.util; import java.sql.CallableStatement; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import org.apache.ibatis.type.JdbcType; import org.apache.ibatis.type.TypeHandler; import com.newpage.common.base.NewFunc; public class NewpageTypeHandler implements TypeHandler { public Object getResult(ResultSet rs, String columnName) throws SQLException { return rs.getString(columnName); } public Object getResult(CallableStatement cs, int columnIndex) throws SQLException { return cs.getString(columnIndex); } public void setParameter(PreparedStatement ps, int i, Object parameter, JdbcType jdbcType) throws SQLException { String param = NewFunc.getInstance().ObjectToStr(parameter); if(!NewFunc.getInstance().ChkEmpty(param)) { param = null; } ps.setString(i, param); } }
接着将类型处理器配置到Mybatis的配置文件中
<typeHandlers> <typeHandler handler="com.newpage.common.util.NewpageTypeHandler" javaType="String"/> </typeHandlers>
这样就完成了我们保存Mysql空字符串的问题了。同样也可以修改上面的处理器,对字段进行缺省值的设置。
相关文章推荐
- 在mysql存储过程中拼接sql解决in的字段类型不匹配问题
- JavaScript 特有奇葩问题“字符串类型与数字类型混乱”的分析与解决,与类型转换
- NetcfSvcUtil生成的WCF代理类保存数字类型到Server端总为0问题解决方法
- 关于mysql、数字类型之间转换的问题
- 解决在mybatis中使用CTE进行oracle查询数据类型为long的字段出现流关闭问题
- 解决在mybatis中使用CTE进行oracle查询数据类型为long的字段出现流关闭问题
- 数字类型、字符串类型常用转换,数据精度问题解决
- Linq中字段数据类型转换问题(Linq to entity,LINQ to Entities 不识别方法"System.String ToString()"问题解决)
- MYSQL复制源文件 丢失问题解决, innoDB 类型转换为 MyISAM
- MYSQL复制源文件 丢失问题解决, innoDB 类型转换为 MyISAM
- 解决SQL2008中设计表字段及类型时无法保存的问题
- oracle数据库中varchar类型字段中存放的有数字和汉字情况,比较大小问题解决
- 解决mybatis使用char类型字段查询oracle数据库时结果返回null问题
- Linq中字段数据类型转换问题(Linq to entity,LINQ to Entities 不识别方法"System.String ToString()"问题解决)
- 实验过程中遇到的mysql DateTime类型与java Calendar问题与解决过程记录
- springbatch 读取csv文件时 文件中有字符串需要转换为Date类型的字段报错字符串不能转化为Date类型的解决方法
- Oracle用sys_Guid()创建为视图ID,.net跨库保存的值却为system_Byte[]问题解决--将sys_Guid()转换为string
- SpringMVC注解@initbinder解决类型转换问题
- 终极办法:解决spring mvc+mysql+mybatis事务不提交不回滚的问题
- Spring mvc jackson输出null为空字符串、单引号、字段和数字加引号问题Spring mvc3 jackson输出null为空字符串、单引号、字段和数字加引号问题