Mybatis常见错误及纠错

properties
属性优先级问题
typeAliases
别名
typeHandlers
涉及到数据类型之间的转换
一般情况下mybatis是帮你写好的了
一般不会涉及这一步1
复写mybatis配置文件
一般的低级码农还是不要动
一般要重写必须保持代码严谨
settings
默认配置一般是友好的
如果你不会你可以看官方的文档,
www.mybatis.org/mybatis-3/zh/configuration.html#settings
mappers
resources
url
class
<package name>
第二章
mybatis参数问题
单个基本数据类型
如果仅仅是简单的一个单值传入,那么#{}表达式里面随便写什么都可以,只有一个参数,mybatis没有入参绑定的烦恼,建议还是要写有含义的名称。
关于
Unknown column 'name' in where 'clause'
问题的解决,肯定是SQL语句的列名写错导致
关于
org.aphace.ibatis.exceptions.TooManyResultException:Excepted one result (or null) to be returned by selectOne () but found 2
问题的解决
我们所要求的结果是一个对象,而查询返回为两个,这个时候不匹配
只要不是按照主键查询,结果都可能不止一个
单个非基本数据类型
如String
跟上面一样
多个基本或非基本数据类型问题
关于:
Caused by : org.acpache.ibatis.bindingException:Parameter 'name' not found Available Parameters are[arg0,arg1,param1,param2]
某个参数没有被找到
可用的参数仅仅是arg0 arg1
param 1 param 2
推荐使用
Girl queryByNameFlower (@Param ("name") String name,@Param ("flower") String flower)
单个javabean
默认通过Javabean 里面的属性的名称去引用,通过getter()方法去找这些值
提供了get set()方法的就叫做属性
MAP
Girl queryByNameFlower3(Map<String,Object> map)
按照这种方式封装,就是按照键的名称进行取值
多个javabean
select * from girl where name=#{param1.name} and flower = #{param2.flower}
一组值的传入(List集合的问题)

posted @ 2019-12-29 22:09  计算机的探索者  阅读(451)  评论(0编辑  收藏  举报