今天有个同事将mysql库迁移后回滚测试发现插入数据乱码。
由于代码基本上改动,可以断定是数据库的迁移引起来的问题,于是我就在mybatis里面直接执行sql的地方加上断点,发现要执行的sql就已经乱码。
然后我就怀疑是否是入参数的时候是乱码,经过发现在设置参数的时候object的值均正常。
也就是SimpleExcutor的doUpdate函数:
后来经过查看数据的编码,发现两个数据库的编码格式不相同,
参考编码的sql如下:
show variables like '%character%';
后来发现它的连接字符串如下:
xxxx.jdbc.url=jdbc:mysql://192.168.14.203:3306/xxxx?useUnicode=true&characterEncoding=UTF-8
后来经过测试:
原因是properties里面不能将&转译
下面的写法就可以:
xxxx.jdbc.url=jdbc:mysql://192.168.14.203:3306/xxxx?useUnicode=true&characterEncoding=UTF-8
但是如果在xml里面的话,要转译
xxxx.jdbc.url=jdbc:mysql://192.168.14.203:3306/xxxx?useUnicode=true&characterEncoding=UTF-8
但是有一个问题,为什么同样的代码在一个数据库上可以,换一个就不行了呢? 原因是第一个数据库所以的编码默认都是utf8,所以参数写错了也不会有影响,而第二个数据库编码格式有问题的时候,参数就要起效果了,不对的时候就会引起问题。 所以还是希望大家在安装数据库的时候,将默认编码设置成utf8.
相关推荐
如果是eclipse工具,直接生成的,则替换:plugins/org.mybatis.generator.core_1.3.2*****.jar,如果是其他方式则直接替换掉官方的mybatis-generator-core1.3.2.jar即可
mybatis 插入数据,打开与关闭连接池的插入性能对比 mybatis 插入数据,打开与关闭连接池的插入性能对比
添加映射—— <!... PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> insert into stu_tbl(name,age) values(#{name},#{age}) </mapper>
mybatis乱码的解决方法 gbk iso-8859-1 ibatis3乱码
Java实现使用Mybatis将数据批量插入到Oracle数据库,并且可以使用Oracle序列来生成主键
MyBatis3的使用例子(解决乱码问题),不足请大家指出!
Java实现Mybatis将数据批量插入到Oracle中
jsq+mybatis+mysql中文乱码的详细方案。
主要介绍了mybatis连接MySQL8出现的问题解决方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
spring boot mybatis多数据源最简解决方案,说起多数据源,一般都来解决那些问题呢,主从模式或者业务比较复杂需要连接不同的分库来支持业务。
Mybatis插入数据返回自增主键 Mybatis插入数据以后只会返回影响的数据库行数,如果是插入一条数据成功则返回1,失败返回零,插入多条返回插入成功的数量。 通过注解或者xml配置无法直接返回自增的主键。Mybatis插入...
mybatis generator 1.3.2生成中文注释,解决中午乱码 eclips插件,网上很多人都说修改mybatis 的插件源码,可是很少有人贡献出来,今天整理一下,贡献出来,大家直接安装后就可以使用,并且附上了generatorConfig....
Mybatis 处理 CLOB、BLOB 类型数据
MyBatis插入数据之后返回插入记录的id MyBatis插入数据的时候,返回该记录的id<insert id="insert"
springboot mybatis多数据源加事务嵌套 事务之间的调用 回滚 亲测可用 定义2个库分别建立 CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户编号', `user_name` varchar(25) ...
SpringBoot-Mybatis多数据源.SpringBoot-Mybatis多数据源.SpringBoot-Mybatis多数据源.
Mybatis实现一对一,一对多数据插入数据实验报告
spring整合mybatis多数据源切换 可以运行的demo实例
本插件是作用在数据层对数据对象进行自动加密和解密. 前提条件:使用mybatis的autoConfig自动配置装载
今天小编就为大家分享一篇关于MyBatis插入数据返回主键的介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧