目录
1.在对DB进行CRUD时,除了查,其余的操作都要进行事务的提交否则不成功。
2.用sqlSession原生方法时,第一个参数方法名,是xml文件中定义的id名,底层找的是你这个接口所定义的方法名。
3.以包为单位引入映射文件 1、mapper接口所在的包要和映射文件所在的包一致 2、mapper接口要和映射文件的名字一致(当然用注解或者将xml与接口放在一起也可以)
4.当要查找整个表信息时,必须指定返回类型,并且返回类型是集合中元素的类型
5.使用xml或者注解方式写实体方法时注意映射文件的区别(resouces下方配置文件,java下放接口以及pojo类) 。
6.在插入一条记录时,可以使用@Operaton操作返回自增长的主键
7.当要为一个包下所有的类取别名typealiases时,直接引入包,且别名的类型默认以小写形式,但实际是不区分大小写
8.当方法中传入多个参数时用@Param来保证方法参数能被SQL的占位符正确识别(也可以通过传入对象解决)
9. 当表中的字段名和类中的属性名不一致时用resultMap进行映射解决
10.在进行模糊查询时需要用"%${}%"进行查询
11.进行查询select时必须有返回类型,要不然会报PersistenceException错误
12.在使用动态SQL中if语句时test中直接写属性名不要写#{age}否则会报错
13.在使用标签的时候,会自动将多余的and删除(提醒大家一下,目前还没出过错)
14. 在查找数据返回对象的集合时,在返回类型中应该写返回集合中元素的类型,否则会报PersistenceException
15.如果始终报错无法找到你的xml配置文件,不论重构了多少次都不行,请实现如下操作
16. 使用动态SQL标签时,set元素内的内容不能全部为空,否则会报sql语法错误
17. 在动态SQL语句运用中 <号不能运用否则会报错 应该用<
18. 关联映射一对多,在进行嵌套查询时collection中记得要表明column属性(注意和嵌套结果的区别!)
1.在对DB进行CRUD时,除了查,其余的操作都要进行事务的提交否则不成功。
2.用sqlSession原生方法时,第一个参数方法名,是xml文件中定义的id名,底层找的是你这个接口所定义的方法名。
3.以包为单位引入映射文件 1、mapper接口所在的包要和映射文件所在的包一致 2、mapper接口要和映射文件的名字一致(当然用注解或者将xml与接口放在一起也可以)
4.当要查找整个表信息时,必须指定返回类型,并且返回类型是集合中元素的类型
5.使用xml或者注解方式写实体方法时注意映射文件的区别(resouces下方配置文件,java下放接口以及pojo类) 。
6.在插入一条记录时,可以使用@Operaton操作返回自增长的主键
7.当要为一个包下所有的类取别名typealiases时,直接引入包,且别名的类型默认以小写形式,但实际是不区分大小写
8.当方法中传入多个参数时用@Param来保证方法参数能被SQL的占位符正确识别(也可以通过传入对象解决)
要不然可能会报错
9. 当表中的字段名和类中的属性名不一致时用resultMap进行映射解决
为什么不一致会报错呢?因为在查询记录时,返回的是一个pojo对象,底层会自动的根据表的字段名和类中的属性名进行匹配,并创建pojo对象进行返回!!!!
10.在进行模糊查询时需要用"%${}%"进行查询
否则会报PersistencetExeception
11.进行查询select时必须有返回类型,要不然会报PersistenceException错误
12.在使用动态SQL中if语句时test中直接写属性名不要写#{age}否则会报错
会报这种格式错误
13.在使用<where>标签的时候,会自动将多余的and删除(提醒大家一下,目前还没出过错)
14. 在查找数据返回对象的集合时,在返回类型中应该写返回集合中元素的类型,否则会报PersistenceException
15.如果始终报错无法找到你的xml配置文件,不论重构了多少次都不行,请实现如下操作
<!--在build中配置resources,来防止我们资源导出失败的问题
1. 不同的idea/maven 可能提示的错误不一样
2. 不变应万变,少什么文件,就增加相应配置即可
3. 含义是将 src/main/java目录和子目录 和 src/main/resources目录和子目录
的资源文件 xml 和 properties在build项目时,导出到对应的target目录下
-->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</build>
16. 使用动态SQL标签<set>时,set元素内的内容不能全部为空,否则会报sql语法错误
17. 在动态SQL语句运用中 <号不能运用否则会报错 应该用<
18. 关联映射一对多,在进行嵌套查询时collection中记得要表明column属性(注意和嵌套结果的区别!)
<collection property="xxx" column = "id" oftype
= "monster" select="com.sn.mapper.MonsterMapper.selectID">
作者现在用到的mybatis的东西较少,但这些都是初学时容易犯下的错误!后续用到发现错误会实时更新的! 加油 ! 赚八万!