sql在数据库中能查出数据,但使用mybatis查不出来(字段内容为中文不能查出来)

字段为英文能获取结果,为中文不能查出来

DEBUG [main] - ==>  Preparing: select * from user where username=? 
DEBUG [main] - ==> Parameters: 张三丰(String)
DEBUG [main] - <==      Total: 0
null
DEBUG [main] - Resetting autocommit to true on JDBC Connection [com.mysql.jdbc.JDBC4Connection@457e2f02]
DEBUG [main] - Closing JDBC Connection [com.mysql.jdbc.JDBC4Connection@457e2f02]
DEBUG [main] - Returned connection 1165897474 to pool.
	User u3=(User)session.selectOne("model.User.findUserByName", "张三丰");

//	User u3=(User)session.selectOne("model.User.findUserByName", "jack");
  • username为中文返回null值,考虑是否编码问题或者实体类名和表字段名是否一致。
  • 检查后IDE编码和XML编码一致,实体类名和字段名一致,考虑是否jdbc配置文件有问题。
  • 解决:统一数据库与xml文件的编码方式,在数据库的配置文件后加上以下配置。
  • 配置:?useUnicode=true&characterEncoding=utf8
jdbc.DriverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/xxxx?useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=xxxx
  • 解决问题
DEBUG [main] - ==>  Preparing: select * from user where username=? 
DEBUG [main] - ==> Parameters: 张三丰(String)
DEBUG [main] - <==      Total: 1
User [id=1, username=张三丰, age=90]
DEBUG [main] - Resetting autocommit to true on JDBC Connection [com.mysql.jdbc.JDBC4Connection@457e2f02]
DEBUG [main] - Closing JDBC Connection [com.mysql.jdbc.JDBC4Connection@457e2f02]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值