Ibatis-dynamic的用法

在Ibatis中<dynamic/>是Ibatis的動態查詢條件,根據該屬性中所包含的元素進行判斷是否執行某一條SQL語句。

1、使用dynamic時

select * from Person表
        <dynamic prepend="where">
                <isNotNull property="name" prepend="and">
                    name=#name#
                </isNotNull>
                <isNotNull property="sex" prepend="and">
                    sex=#sex#
                </isNotNull>              
        </dynamic>
結果
當name、sex都非null時打出如下的SQL語句:
select Person表 where (and) name= ? , and sex= ?,很顯然執行語句時,name前的and已經自動清除。

2、不使用dynamic時

select * from Person表       
                <isNotNull property="name" prepend="and">
                    name=#name#
                </isNotNull>
                <isNotNull property="sex" prepend="and">
                    sex=#sex#
                </isNotNull>          
結果
當name、sex都非null時打出如下的sql語句:
select * Person表 where and name= ? , and sex= ?,出現語句錯誤

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