07. MyBatis 遇到过问题
遇到过的问题
mysql 中判断记录是否存在方法比较
1 | select IFNULL((SELECT 1 FROM gen_table where table_id = 1 limit 1), 0) AS c1 |
结果为 1,则说明记录存在;结果为 0,则说明记录不存在。
Invalid bound statement (not found)出现原因和解决方法
1. mapper.xml 中的 namespace 和实际的 mapper 文件不一致
这个问题其实很好解决,瞪大眼睛,仔仔细细看看,到底对不对应不就好了
2. mapper 接口中的方法名和 mapper.xml 中的 id 标签不一致
这个问题和上个问题解决方法一样,仔细对对嘛,这个再对不出来,面壁思过吧。
3. 若以上两步的问题都没有,但是还是不行,可能原因就是,没有构建进去,打开 target 看看对应的 mapper.xml 文件是否存在
Java 启动报错: java.sql.SQLSyntaxErrorException:Table‘xx.QRTZ_LOCKS‘ doesn‘t exist
通过 docker 安装 mysql、redis 以后启动时候报错,但是数据库里面发现有这个表,奇了怪了,网上一顿搜索发现,原来是 linux 下 mysql 默认是大小写敏感的,但是我们正常使用都是大小写不敏感。