MySql默認是不支持這種騷操作的,但是並不代表不能實現,只需要在jdbc的配置文件中稍做配置:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/airipo?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
username=imp
password=123
其中,allowMultiQueries=true這個配置是關鍵,必須寫
然后在映射文件中的標簽下將多條sql用;隔開即可,示例代碼:
<insert id="addUser" parameterType="User" >
insert into t_users (name,password,phone) values (#{name}, #{password},#{phone});
insert into t_dep (depname) values (#{depname})
</insert>
<update id="updateBatchSingle" parameterType="java.util.List">
<foreach collection="list" item="item" index="index" open="" close=";" separator=";">
update user
<set>
status=#{item.status}
</set>
where id = #{item.id}
</foreach>
</update>