- <insert id="insertUser" parameterType="com.test.model.User">
- insert into user (id,email,name,phone,status) values(#{id,jdbcType=INTEGER},#{email,jdbcType=VARCHAR},#{nick,jdbcType=VARCHAR},#{phone,jdbcType=VARCHAR},#{status,jdbcType=INTEGER});
- delete from roleuser where userid=#{id,jdbcType=INTEGER};
- <if test="roles != null and roles.size() != 0 ">
- insert into roleuser (userid,roleid) values
- <foreach collection="roles" item="roleId" separator="," close=";">
- (#{id,jdbcType=INTEGER},#{roleId,jdbcType=INTEGER})
- </foreach>
- </if>
- </insert>
原文出处 感谢作者: http://rhodian.iteye.com/blog/1930891
没有让mysql驱动开启批量执行sql的开关。
怎么开启呢?在拼装mysql链接的url时,为其加上allowMultiQueries参数,设置为true,如下:
jdbc.jdbcUrl=jdbc:mysql://127.0.0.1:3306/database?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true
加了参数后,我又将mybatis配置文件改了回去
2、事务回滚
的方式