mybatis问题记录
遇到一个写一个,没有先后之分,格式会逐渐完整化, 初学者的角度记录 , 完全新batis用户比较有用
1.org.apache.ibatis.exceptions.PersistenceException:
Error querying database. Cause: org.apache.ibatis.binding.BindingException: Parameter 'bid' not found. Available parameters are [param7, param5, param6, param3, param4, arg6, param1, param2, arg3, arg2, arg5, arg4, arg1, arg0]
Cause: org.apache.ibatis.binding.BindingException: Parameter 'bid' not found. Available parameters are [param7, param5, param6, param3, param4, arg6, param1, param2, arg3, arg2, arg5, arg4, arg1, arg0]
答案:
需要在mapper类中使用 @param参数 指定插入的位
2.插入
答案:
xml中需要insert标签 @param 类中标注插入的信息位
3. 关于模糊查询(2022年9月7日22:59:07)
mapper中使用
List
在xml中修改
<select id="selectOne" resultType="com.yq.mybatisDemo.entity.Book">
# 其中由于模糊查询 所以只能用 '%${condition}%' 而不能用#
SELECT * FROM `Table` WHERE bauthor LIKE '%${condition}%'
</select>
4.You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near xxx
答案:
就是sql写错了 建议在SQL工具中执行后复制粘贴进xml 另外 和select顺序要 对齐
5. mybatis查询返回null
解:可能原因
- SQL语句查询条件有问题
针对 SQL语句查询条件有问题、数据库中没数据 建议将SQL手动拼接之后去数据库中运行一下看看结果。 - 数据库中没数据
- 返回字段与Entity的属性不对应
检查entity属性是否是因为驼峰命名导致字段不对应返回了null; 可以去配置一下开启驼峰
6. MapperScan扫描不到
mapUnderscoreToCamelCase的配置问题 未解决()
7. 遇到疯狂报错SQL语法问题(2022年9月9日00:11:02)
例如
SELECT b.id,b.idc,b.`name`,i.address,i.validityPeriod
FROM basicinf b,idcdet i
设置了简写 , 全局所有相关引用都得简写 不然一直报错