比如 你创建一张表 使用的是engine innodb charset utf8那么你的数据源url连接就应该是 jdbc:mysql://(数据库地址+端口)/(数据库名)?useUnicode=true&characterEncoding=utf8(可能还会有别的参数需要指定)
究其原因 还是因为编码格式的问题,你的李四 到数据库的前,会在myabtis做一些处理,做这些处理的时候,李四就可能不在是李四了 所以使用mybatis查询不到,但是在mysql中直接查询是查询得到的
解决方法:修改配置文件,最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节):1、在[client]字段里加入default-character-set=utf8,如下:
1[client]
2port = 3306
3socket = /var/lib/mysql/mysql.sock
4default-character-set=utf8
首先把这个日志输出的sql语句 ,客户端执行一下,确定sql能查询出数据楼主这里使用resultType="map" 返回的即是一个hashMap对象,你遍历了吗?
建议使用resultMap,自己配置一个resultMap,这样就可以把结果映射到一组实体类中
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)