mybatis中的if-else及if嵌套使用方式

if-else及if嵌套使用方式

案例一:if-else

在使用mybatis mapper 动态sql时,不免会出现if-else的使用,但是好像又没有这种语法,提供的是choose标签代替if-else

例如:

select * from t_stu t

    
        
            and t.status = 1 
        
        
                and t.status  NOT IN (9,5)
        
    
    and t.delete_status = 1

也可以用多个if判断实现:

select * from t_stu t

    
        and t.status = 1 
    
    
        and t.status  NOT IN (9,5)
    
    and t.delete_status = 1

案例二:if嵌套

在实际编码过程中会有一些判断条件会一直重复使用,一直写在if标签中写的代码会特长,而且臃肿

select * from t_stu t

    
        and t.type = 'we' and t.delete = 1
    
    
        and t.type = 'wq' and t.delete = 1
    
    
        and t.type = 'wr' and t.delete = 1
    

变现后:

select * from t_stu t

    
        
            and t.type = 'we'
        
         
            and t.type = 'wq'
        
        
            and t.type = 'wr'
        
    
    and t.delete = 1

mybatis if-else写法

mybaits中没有else要用chose when otherwise代替


    
        //...
    
    
        //...
    

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(mybatis中的if-else及if嵌套使用方式)