mybatis +mysql
1
2
3
4
5
6
7
|
<
insert
id
=
"addRoleModule"
parameterType
=
"java.util.List"
>
INSERT INTO T_P_ROLE_MODULE (ROLE_ID, MODULE_ID)
VALUES <
foreach
collection
=
"list"
item
=
"item"
index
=
"index"
separator
=
","
>
( #{item.roleId}, #{item.moduleId})
</
foreach
>
</
insert
>
|
1
2
3
4
5
6
|
<
insert
id
=
"addRoleModule"
parameterType
=
"java.util.List"
>
INSERT INTO T_P_ROLE_MODULE (ROLE_ID, MODULE_ID)
<
foreach
collection
=
"list"
item
=
"item"
index
=
"index"
separator
=
" UNION ALL "
>
SELECT #{item.roleId}, #{item.moduleId} FROM DUAL
</
foreach
>
</
insert
>
|
oracle和mysql数据库的批量update在mybatis中配置不太一样:
oracle数据库:
1
2
3
4
5
6
7
8
9
10
11
|
<
update
id=
"batchUpdate"
parameterType=
"java.util.List"
>
<foreach collection=
"list"
item=
"item"
index
=
"index"
open
=
"begin"
close
=
"end;"
separator=
";"
>
update
test
<
set
>
test=${item.test}+1
</
set
>
where
id = ${item.id}
</foreach>
</
update
>
|
mysql数据库:
mysql数据库采用一下写法即可执行,但是数据库连接必须配置:&allowMultiQueries=true
例如:jdbc:mysql://192.168.1.236:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
1
2
3
4
5
6
7
8
9
10
11
|
<
update
id=
"batchUpdate"
parameterType=
"java.util.List"
>
<foreach collection=
"list"
item=
"item"
index
=
"index"
open
=
""
close
=
""
separator=
";"
>
update
test
<
set
>
test=${item.test}+1
</
set
>
where
id = ${item.id}
</foreach>
</
update
>
|