mybatis查询返回空,sql数据库执行有数据

在实现统计功能时遇到MyBatis查询返回空数据的问题,即使SQL在Navicat中能获取到结果。尝试了更换mysql-connector-java版本、替换数据源为Druid,但问题依然存在。最终通过修改SQL中的like条件并调整JDBC连接URL的字符编码设置为UTF-8,解决了问题。
摘要由CSDN通过智能技术生成

需要编写一个统计功能,在Navicat Premium里调整好sql
然后编写后台代码 controller – service -serviceImpl -dao
在serviceImpl 上添加 @Service 注解
在dao 添加 @Repository注解
在xml中resultMap对应信息
在select中 设置 parameterType 和 resultMap
然后执行程序,发现在页面没有返回数据

 

 

 

 

打断点查看,发现 serviceImpl里的list返回的为[]
但是将这个sql复制到Navicat Premium 是可以查找到对应信息的

 

 

 

检查日志 发现 控制台报了个 关于 mysql-connector-java-6.0.5的错误,然后将 mysql-connector-java-6.0.5.jar 更改为 mysql-connector-java-5.1.26.jar
再次测试发现该错误消失,但是还是查不到数据

 

 

 

日志中有几个c3p0的错误,然后将c3p0替换为 druid数据源
再次检查,发现该错误消失,但是还是查看 不到数据

 

 

 

日志中还有几个其他的提示信息例如 was not registered for synchronization because synchronization is not active等。

 

 

最后测试时发现,更改sql中的某些字段,然后页面突然就能显示数据了
更改的内容为 将name like ‘%XXX%’ 条件注释掉,
但是奇怪的是 另外一个

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值