开发者学堂课程【Java 面试疑难点串讲 3:开发工具及框架:MyBatis 执行问题】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/26/detail/555
MyBatis 执行问题
使用 Mybatis 做模糊查询的时候,在日志中看到执行了 sql 语句,但是查询不到结果。
如果可以看见后台的日志出现有相关的信息显示,那么就表示你现在的整体环境搭建是没有任何问题的,但是为什么数据没有呢?
个人的经验总结有如下几点:
l 你的数据库里面就没有符合条件的数据,观察你的事务问题,你更换一个新的客户端链接;
l 你在使用模糊查询的时候,所传递的参数可能就有问题,于是这个时候最好的解决方案,就是你观察你的数据层里面传入的内容是否正确;
l 在使用模糊查询的时候千万要记住在关键字的左右增加一个“%” ,如果没有加,那么就不叫模糊查询了;
l 你现在所连接的数据库并不是你真正的数据库。
在 mybatis 的 sql 语句中使用 if 判断传递过来的某参数是不是 null 是有效的,但是却不能判断空字符串“”””
动态S QL 是依靠配置实现的,它只能够判断 null。你可以在业务层的处理上追加一些判断功能,例如:如果现有内容为空字符串 (""),那么你就为其设置 null。
动态 SQL 很有帮助。