在ibatis框架中 拼接sql语句,动态查询 .

在ibatis中使用安全的拼接语句,动态查询
ibatis比JDBC的优势之一,安全高效
说明文字在注释中

  
< select  id ="selectAllProducts"  parameterClass ="Product"  resultMap ="ProductResult" >
    select id,note from Product
       
< dynamic  prepend ="WHERE" >
       

            
< isNotNull  property ="id" >
                

                
< isGreaterThan  prepend =" and "  property ="id"  compareValue ="0" >
                id = #id#
                
isGreaterThan >
            
isNotNull >
            

            
< isNotEmpty  prepend =" and "  property ="note" >
            

            note like '%$note$%'
            
isNotEmpty >
        
dynamic >
  
select >
  
用Map传参数
  
  
< select  id ="selectAllProducts"  parameterClass ="java.util.HashMap"  resultMap ="ProductResult" >
    select id,note from Product
       
< dynamic  prepend ="WHERE" >
       

          
< isPropertyAvailable  property ="id" >
            
< isNotNull  property ="id" >
                

                
< isLessThan  prepend =" and "  property ="id"  compareValue ="10" >
                id = #id#
                
isLessThan >
            
isNotNull >
          
isPropertyAvailable >
        
dynamic >
  
select >

 ------------------------------------------------------------------几个常用属性

属性是存在
属性不存在
属性值是null
判断Collection.size<1或String.length()<1
等于
不等于
大于
大于等于
小于
小于等于

你可能感兴趣的:(在ibatis框架中 拼接sql语句,动态查询 .)