2017-09-06 125 views
0
<insert id="insert" parameterType="com.youneverwalkalone.cent.web.model.Category" useGeneratedKeys="true" keyProperty="id" keyColumn="id"> 
     LOCK TABLE t_category WRITE; 

     UPDATE t_category SET rgt = rgt + 2 WHERE rgt greater than #{parentNode.lft,jdbcType=BIGINT}; 
     UPDATE t_category SET lft = lft + 2 WHERE lft greater than #{parentNode.lft,jdbcType=BIGINT}; 

     insert into t_category (
     name, lft, rgt, 
     time_created, people_created, 
     state, type, project) 
     values (
     #{record.name,jdbcType=VARCHAR}, #{parentNode.lft,jdbcType=BIGINT}+1, #{parentNode.lft,jdbcType=BIGINT}+2, 
     #{record.timeCreated,jdbcType=TIMESTAMP}, #{record.peopleCreated,jdbcType=BIGINT}, 
     #{record.state,jdbcType=SMALLINT},#{record.type,jdbcType=VARCHAR},#{record.project,jdbcType=VARCHAR}); 

     UNLOCK TABLES; 
    </insert> 

以上是我的代碼片段。調用這個插入方法會得到錯誤。 我的問題: 1)mybatis是否支持這些語法 - 多種sql中的一種方法? 2)如果不支持,如何處理這種情況。mybatis映射器xml在一個映射器方法中執行多個sql語句

+0

[MyBatis可以一次執行多個sql語句,可能嗎?](https://stackoverflow.com/questions/7174225/mybatis-executing-multiple-sql-statements-in-one-go-那可能嗎) –

回答