风人园

弱水三千,只取一瓢,便能解渴;佛法无边,奉行一法,便能得益。
随笔 - 99, 文章 - 181, 评论 - 56, 引用 - 0
数据加载中……

iBATIS技巧

现在项目中使用ibatis作为数据库操作工具,在深感ibatis功能强大的同时,一直也在为如何写出动态SQL而困惑,自己也是在一点点的摸索中,现在发现prepend这个小工具确实不错,下面就是在项目中自己摸索的几个小用法。

1:通常用法,也是大多数参考文章上面介绍的方法

xml 代码
  1. < dynamic   prepend = "where" >         
  2.        < isNotEmpty   prepend = "and"   property = "csendUserId" >         
  3.            csendUserId  = #csendUserId#         
  4.        isNotEmpty >         
  5.    dynamic >    

 

2:通常用法的小小扩充,在里面增加一个and

xml 代码
  1. < dynamic   prepend = "where" >         
  2.      < isNotEmpty   prepend = "and"   property = "csendUserId" >         
  3.          csendUserId  = #csendUserId#         
  4.         and         
  5.          isenddr  =  0         
  6.      isNotEmpty >         
  7. dynamic >        

 

3:在数据库表连接处使用,自己以前从来没有过的想法:)

xml 代码
  1. < dynamic   prepend = "left outer join cms_user U on " >         
  2.      < isNotEmpty   prepend = ""   property = "creceiveUserid" >         
  3.          M.csendUserId  = U.pk_user         
  4.      isNotEmpty >         
  5. dynamic >     

 

4:检索条件处使用,动态增加检索条件

xml 代码
  1. < dynamic   prepend = "" >         
  2.      < isNotEmpty   prepend = ""   property = "creceiveUserid" >         
  3.         ,csendUserId         
  4.         ,U.VTRUENAME as sendUserName         
  5.      isNotEmpty >         
  6. dynamic >        
  7.   

 

需要注意的是,检索的时候,如果动态检索条件的话,需要增加remapResults="true"

posted on 2006-12-16 15:06 风人园 阅读(349) 评论(0)  编辑  收藏 所属分类: DAO