MyBatis SQLServer 模糊查询LIKE、本年、本月、近三月、近两月

MyBatis SQLServer 模糊查询LIKE

方法一:在SQL中拼接字符串

SELECT ID, MESSAGE_ID,MESSAGE_RESULT ,CREATE_TIME,MESSAGE_STATUS, FINISH_TIME
FROM USER_MESSAGE
WHERE 1 = 1
     
       AND MESSAGE_STATUS = #{messageStatus} 
     

     
       AND MESSAGE_RESULT LIKE  '%'+#{messageResult}+'%'
     

       
         
                AND DATEDIFF(YEAR,FINISH_TIME,GETDATE())=0
           

             
                AND FINISH_TIME >= DATEADD(MONTH,-3,GETDATE())
           

           
                AND FINISH_TIME >= DATEADD(MONTH,-2,GETDATE())  
           
 
           
                AND DATEDIFF(MONTH, FINISH_TIME, GETDATE())= 0  
           
 
           
            AND FINISH_TIME IS NOT NULL
           
 
       
 

 

方法二:在Java代码中拼接字符串

Map paramMap=new HashMap();
paramMap.put("messageStatus", messageStatus);
paramMap.put("messageStatus", "%"+messageStatus+"%");


注意:使用${…}不能有效防止SQL注入所以这种方式虽然简单但不推荐。



你可能感兴趣的:(Mybatis,SQL)