博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mybatis注意事项
阅读量:5134 次
发布时间:2019-06-13

本文共 2046 字,大约阅读时间需要 6 分钟。

配置文件

1、配置文件中<mapper>不论是parameterType属性还是resultType属性,简写的名称必须与<configuration>下<typeAliases>中的<typeAlias>里面的alias值一致。

2、配置文件中<mapper>下的增删改查parameterType属性可以不与数据库一致,但是配置文件必须与类中属性一致。例如:数据库id字段为String,parameterType可设置为int,类中id属性必须为int。需要满足的条件是,数据库中id的String为数字,转换后不会出现异常。

3、接口实现时,<mapper>的namespace属性必须对应接口所在位置。其余方式可不必要。

4、配置文件中标签的先后,必须按照顺序来。

单表:

1、返回集合时(不论list,set,map),<select>中的resultType属性改为resultMap,同时建立对应的<resultMap><result column="列名" property="类参数名"></resultMap>。

2、返回集合时,如果数据参数与类中参数一一对应,可设置resultType=类名,不必如第三条修改。

3、返回集合时,如果有多参数,一是可以作为一个对象传入,二是以#{0},#{1}的方式代表第一个参数第二个参数

1、插入数据时,<insert>标签中useGeneratedKeys属性设置为true,表示获取数据库自动生成的主键,keyProperty='id'指把获取到的主键放入id属性中。

2、插入数据时,类中属性与数据库字段可不一一对应。sql语句中参数以类属性名为主。

3、插入数据时,必须在执行方法后,提交事务:session.commit();否则不会被写入数据库。

4、插入数据时,可一次插入多条数据后,再提交事务。

5、插入数据时,insert into tablename values(#{name1},'${name2}'),以上两种参数方式都可以。注意单引号,双引号会报错。

1、修改数据时,同类似。参数有两种方式书写。同时修改后必须提交事务,否则不会被写入数据库。

1、删除数据时,同类似。参数有两种方式书写,同时删除后必须提交事务,否则不会被写入数据库。

User.xml配置文件代码如下

insert into lwt_goods values(#{goodsid},#{goodsname},'null',#{storename},'${oldprice}','null',null,null,null)
update lwt_goods set goodsname = #{goodsname},storename1 = #{storename} where goodsid = #{goodsid}
delete lwt_goods where goodsid = #{goodsid}

多表:

1、多表关联查询时,需要在一个映射类A的bean里,将另一个映射类B作为它的属性。返回结果以resultMap形式表示。同时在resultMap中以<association>标签配置属性B。返回出来的结果,是A的对象,或者A的对象的集合。需要注意的是:如果返回的数据所有属性的值相同,会被合并为一条数据(暂未寻找解决方法),类似于sql中unique约束。

方式1    
方式2

 

转载于:https://www.cnblogs.com/yxth/p/6625926.html

你可能感兴趣的文章
java可重入锁reentrantlock
查看>>
浅谈卷积神经网络及matlab实现
查看>>
struts2学习(9)struts标签2(界面标签、其他标签)
查看>>
Android 导入jar包 so模块--导入放置的目录
查看>>
解决ajax请求cors跨域问题
查看>>
Android Studio
查看>>
zz 圣诞丨太阁所有的免费算法视频资料整理
查看>>
【大数模板】C++大数类 大数模板
查看>>
【123】
查看>>
《收获,不止Oracle》pdf
查看>>
用户权限设置
查看>>
java 之equals与"=="的区别
查看>>
LinkedList<E>源码分析
查看>>
学习微软 Excel 2002 VBA 编程和XML,ASP技术
查看>>
游戏开发常用算法
查看>>
Real-Time Rendering 笔记
查看>>
如何理解HTML结构的语义化
查看>>
Intellij IDEA(eclipse设置)常用快捷键
查看>>
深入理解Java:注解(Annotation)基本概念
查看>>
NAT基本原理
查看>>