ibatis

来源:互联网 发布:网络写作和传统写作 编辑:程序博客网 时间:2024/05/18 02:56
  1. dynamic可以去除第一个prepend="and"中的字符(这里为and),从而可以帮助你实现一些很实用的功能。具体情况如下:  
  2.   
  3. 1.使用dynamic  
  4.   
  5. 1.1 xml  
  6. select * from Person表  
  7.         <dynamic prepend="where">  
  8.                 <isNotNull property="name" prepend="and">  
  9.                     name=#name#  
  10.                 </isNotNull>  
  11.                 <isNotNull property="sex" prepend="and">  
  12.                     sex=#sex#  
  13.                 </isNotNull>                
  14.         </dynamic>  
  15.   
  16. 1.2 结果  
  17.   
  18. 当name、sex都非null时打出如下的sql语句:  
  19. select Person表 where (and) name= ? , and sex= ?  
  20.   
  21. 显然name前的and被自动去除了,很方便吧。  
  22.   
  23. 2.不使用dynamic  
  24.   
  25. 2.1 xml  
  26. 如果我把dynamic 去掉就会变的很恶心,如下:  
  27. select * from Person表         
  28.                 <isNotNull property="name" prepend="and">  
  29.                     name=#name#  
  30.                 </isNotNull>  
  31.                 <isNotNull property="sex" prepend="and">  
  32.                     sex=#sex#  
  33.                 </isNotNull>            
  34.   
  35. 2.2 结果  
  36. 当name、sex都非null时打出如下的sql语句:  
  37. select Person表 where and name= ? , and sex= ?  
  38. 显然name前多个and,sql语句错误。  
  39.   
  40. 3.总结  
  41. dynamic 会自动去除第一个 prepend="and中的内容(这里为and),从而方便一些操作。  







属性关键字含义<isEqual>如果参数相等于值则查询条件有效<isNotEqual>如果参数不等于值则查询条件有效<isGreaterThan>如果参数大于值则查询条件有效<isGreaterEqual>如果参数等于值则查询条件有效<isLessEqual>如果参数小于值则查询条件有效。如下所示:<isLessEqual prepend = ”AND” property = ”age” compareValue = ”18” >ADOLESCENT = ‘TRUE’</isLessEqual><isPropertyAvailable>如果参数有使用则查询条件有效。<isNotPropertyAvailable>如果参数没有使用则查询条件有效<isNull>如果参数为NULL则查询条件有效<isNotNull>如果参数不为NULL则查询条件有效<isEmpty>如果参数为空则查询条件有效<isNotEmpty>如果参数不为空则查询条件有效<isParameterPresent>如果参数类不为NULL则查询条件有效<isNotParameterPresent>Checks to see if the parameter object is not present (null). Example Usage
0 0
原创粉丝点击