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

selectOne(String condition);
在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

解:可能原因

  1. SQL语句查询条件有问题
    针对 SQL语句查询条件有问题、数据库中没数据 建议将SQL手动拼接之后去数据库中运行一下看看结果。
  2. 数据库中没数据
  3. 返回字段与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

设置了简写 , 全局所有相关引用都得简写 不然一直报错

posted @ 2022-09-07 13:34  rainsc  阅读(36)  评论(0编辑  收藏  举报