自学内容网 自学内容网

关于Mybatis框架操作时注意的细节,常见的错误!(博主亲生体会的细节!)

目录

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语句运用中 <号不能运用否则会报错 应该用&lt; 


 18. 关联映射一对多,在进行嵌套查询时collection中记得要表明column属性(注意和嵌套结果的区别!)

<collection property="xxx" column = "id" oftype
    = "monster" select="com.sn.mapper.MonsterMapper.selectID">

 

作者现在用到的mybatis的东西较少,但这些都是初学时容易犯下的错误!后续用到发现错误会实时更新的! 加油 ! 赚八万!


原文地址:https://blog.csdn.net/m0_74301606/article/details/142111674

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!