问题描述:最近项目使用Oracal数据库,在写后端CRUD代码时候,对Mybatis mapper xml文件进行编写的过程中遇到了一下不同:
1、批量插入
2、模糊查询的concat拼接
批量插入的时候,我按照mysql之前的写法如下:
insert into SPMS_QM_FOURTH_CHECK_CHILD_CONNECTION
(ID,FOURTH_CHECK_ID,FOURTH_CHILD_ID)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.id},#{item.fourthCheckId},#{item.fourthChildId})
</foreach>
结果出现语法报错
模糊查询的写法:
concat('%',#{projectName},'%')
结果也是出现语法报错
解决方法:
1、批量插入更新正确语法
insert into SPMS_QM_FOURTH_CHECK_CHILD_CONNECTION
(ID,FOURTH_CHECK_ID,FOURTH_CHILD_ID)
VALUES
<foreach collection="list" item="item" index="index" separator="union all" >
select #{item.id},#{item.fourthCheckId},#{item.fourthChildId}
from dual
</foreach>
2、模糊查询拼接写法:
concat(concat('%',#{projectName}),'%')