论坛首页 Java企业应用论坛

ibatis中prepend的小用法

浏览 12047 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-12-13  

现在项目中使用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"

   发表时间:2006-12-16  
不错。不过prepend=""的时候,我一般都是去掉。
0 请登录后投票
   发表时间:2006-12-16  
:)
是的,你说的很对,后来我也发现这个问题了
“dynamic prepend=""“    也不用写:)
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics