mybatis插入Date类型报错的小问题
来源:互联网 发布:spss mac下载官网 编辑:程序博客网 时间:2024/06/13 09:50
学习mybatis写了一个新增用户信息的demo,用户User的birthday属性类型为java.util.Date类型,执行mybatis插入方法的Junit测试报了如下错误:
Error updating database. Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data truncated for column ‘birthday’ at row 1
The error occurred while setting parameters
以下是Junit的测试代码:
// 添加用户 @Test public void insetUser() throws IOException { // mybatis配置文件 String resource = "SqlMapConfig.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); // 创建会话工厂,传入mybatis的配置文件信息 SqlSessionFactory factory = new SqlSessionFactoryBuilder() .build(inputStream); // 通过工厂得到SqlSession SqlSession session = factory.openSession(); // list中的user和映射文件中resultType所指定的类型一致 // 插入用户信息 User user = new User(); // user.setId(7); user.setUsername("zzq"); user.setBirthday(new Date()); user.setSex("男"); user.setAddress("乌木鲁齐"); int result = session.insert("test.insertUser", user); System.out.println(result); // 提交事物 session.commit(); //获取新增用户信息的主键 System.out.println(user.getId()); // 释放资源 session.close(); }
mybatis的映射配置文件:
<insert id="insertUser" parameterType="cn.mybatis.domain.User" >INSERT INTO USER (id,username,birthday,sex,address) VALUES (#{id},#{username},#{birthday},#{sex},#{address}) </insert>
刚开始以为是程序问题,检查很多遍发现是在插入birthday这个Date类型的时候报错了,但是mybatis是支持java.util.Date类型并自行转换的,仔细观察错误信息不难发现,异常时mysql的驱动包抛出的
解决方法:
1、更换版本高一点的mysql驱动
老版本mysql-connector-java-3.1.13-bin.jar
新版本mysql-connector-java-5.1.40-bin.jar
在此执行测试方法数据已经插入数据库中
2、将java.util.Date类型换为java.sql.Date
使用Date.valueOf(“yyyyMMdd”)也可以解决问题
0 0
- mybatis插入Date类型报错的小问题
- Mybatis 插入date类型报错解决方案
- 关于PreparedStatement插入Date类型值会报错的问题
- Mybatis 插入数据的时候Date类型,时间精度丢失
- mybatis date类型引发问题
- mybatis 插入oracle xmltype类型的数据内容超过4000报错
- java.util.date类型保存到mysql数据库报错的问题
- mybatis如何接收字符串转换为date类型插入数据库
- mybatis配置的一些小问题总结 mybatis报错:org.mybatis.spring.MyBatisSystemException: nested exception is org.apach
- mybatis+mysql小批量插入语法以及遇到的问题
- 插入时间的问题 date
- mysql插入date类型的值
- oracle 中插入date类型的字段
- mysql插入date类型的值 .
- JDBC中Date类型数据的插入
- JDBC的增删改查,对Date类型的插入和查询问题!
- Java向MySQL数据库插入时间类型Date数据时需要注意的问题
- Java向MySQL数据库插入时间类型Date数据时需要注意的问题(二)
- CREELINKS平台_处理器CeAd资源使用说明(CeAd的配置与使用)
- JSON-lib框架,转换JSON、XML不再困难
- BZOJ 2656 [Zjoi2012] 数列(sequence)
- C++学习笔记(四)
- docker使用容器ubuntu安装mongodb
- mybatis插入Date类型报错的小问题
- MVC模式
- Java大用处——动态数组的实现
- JDK中的Timer和TimerTask详解
- 二叉树的深度
- SpringMVC 中整合JSON、XML视图一
- Java字符的编码解码与乱码问题
- 移动端开发详解(1)
- 运用栈对算数表达式求值