1. 程式人生 > >mybatis中sql語句引數新增判斷

mybatis中sql語句引數新增判斷

在使用mybatis框架,在xml檔案寫sql語句時,我們經常會新增一些引數輸入的判斷條件,

一是為了控制非法引數傳入導致程式報錯,二是可根據不同引數傳入實現sql語句的複用。

簡單總結如下:

查詢語句:

判斷引數不為空

select  * from table1 where 1=1

<if test="condition != null">

and table1.colum1 = #{condition}

</if> 

判斷引數不為空字串

select  * from table1 where 1=1

<if test='condition != "" '>

and table1.colum1 = #{condition}

</if> 

更新語句:

update table2 

<set>

<if test="condition1 != null">

table2.colum1 = #{condition1},

</if>

        <if test="condition2 != null">

table2.colum2 = #{condition2}

</if>

</set>

插入語句:

下面這個示例是一個迴圈插入語句,需要插入的資料在java層已經封裝成物件(object)放入到集合(list)中

insert into table3 (colum1, colum2, colum3)

values

<if test="list != null">

<foreach collection="list" item="object"  index="index" separator=",">

(

#{object.field1},

#{object.field2},

#{object.field3}

                )

        </foreach>

</if>