MyBatis中如何一次执行多条语句(使用mysql数据库)。
1、修改数据库连接参数加上allowMultiQueries=true,如:
xxoo.jdbc.url=jdbc:mysql://localhost:3306/xxoo_xn?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
2、直接写多条语句,用“;”隔开即可
<delete id="deleteUserById" parameterType="String">
delete from sec_user_role where userId=#{id};
delete from sec_user where id=#{id};
</delete>
就是这样。
下面这个是我实际应用的
<insert id="insertFaqs" parameterType="com.lanangame.xnsports.model.Faqs">
INSERT INTO
faqs (topic,topic_class,admin_uid,add_time,topic_answer,warehouse_id)
VALUES
(#{topic},#{topicClass},#{adminUid},#{addTime},#{topicAnswer},#{warehouseId});
<if test="topicClass=='XZ' or topicClass=='DX'">
INSERT INTO
topic_choice (topic_id ,topic_content ,topic_sign )
VALUES
((SELECT LAST_INSERT_ID()),#{topicContent},#{topicSign}) <!-- 这里的SELECT LAST_INSERT_ID()是获取刚插入的数据自增长id的-->
</if>
</insert>
本文参考了别人的的文档。点击打开原文链接