1.mybatis的批量添加insert的写法
1.1:<insert id="对应接口名" parameterType=""> parameterType 可以是List,可以是Map,也可以是实体类。
1.1.2:当parameterType是List时collection就等于list,item是别名
1.1.3当parameterType是实体的时
1.1.4实体类写法
private Integer fiag;
private boolean addOrEditflag = false;
private List<house> objs = new ArrayList<>();
1.1.6mapper接口
int add(houseObjList listobj);
1.1.7xml的写法
<insert id="add" parameterType="entity.houseObjList">
INSERT INTO zhcc_production
(
GUID,
CNAME,
CCODE,
CREATEUSER
) VALUES
<foreach collection="objs" item="itme" index="index" separator=",">
(
(select replace(uuid(),'-','') AS GUID),
#{itme.cname},
#{itme.ccode},
#{createuser},
#{createdate}
)
</foreach>
</insert>
注意:在实体类中private List<house> objs = new ArrayList<>(); 是批量添加的时候,在实体中封装了一个list集合,集合的泛型是一个实体,其他的数据是单一数据。
2:mybatis的update批量更新
2.1实体类的写法与insert的写法相同
<update id="update" parameterType="entity.House">
UPDATE region a
INNER JOIN (
SELECT
CUSED,
guid
FROM
region
WHERE GUID IN
<foreach collection="outList" item="item" index="index" open="(" close=")" separator=",">
#{item.egion}
</foreach>
) b
SET a.CUSED = b.CUSED-1
WHERE a.GUID IN
<foreach collection="outList" item="item" index="index" open="(" close=")" separator=",">
b.guid
</foreach>
java/Mysql群:660677098
期待您的加入
版权声明:本文为博主原创文章,未经博主允许不得转载