ibatis-dynamic的用法

 dynamic可以去除第一個prepend="and"中的字符(這裏爲and),從而可以幫助你實現一些很實用的功能。具體情況如下:

1.使用dynamic

1.1 xml
select * from Person表
        <dynamicprepend="where">
                <isNotNull property="name" prepend="and">
                    name=#name#
                </isNotNull>
                <isNotNull property="sex" prepend="and">
                    sex=#sex#
                </isNotNull>              
       </dynamic>

1.2 結果

      name、sex都非null時打出如下的sql語句:

 

select    Person表 where(and)name= ? , and sex= ?

 

     顯然name前的and被自動去除了,很方便吧。

2.不使用dynamic

2.1 xml
       如果我把dynamic去掉就會變的很噁心,如下:
select * from Person表       
                <isNotNull property="name" prepend="and">
                    name=#name#
                </isNotNull>
                <isNotNull property="sex" prepend="and">
                    sex=#sex#
                </isNotNull>          

2.2 結果
     name、sex都非null時打出如下的sql語句:

 

select    Person表 whereandname= ? , and sex= ?
      顯然name前多個andsql語句錯誤

3.總結

 

 

     dynamic會自動去除第一個 prepend="and中的內容(這裏爲and),從而方便一些操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章