zl程序教程

您现在的位置是:首页 >  后端

当前栏目

mybatis中的if-else使用及if嵌套使用详解编程语言

mybatis编程语言 使用 详解 if 嵌套 Else
2023-06-13 09:11:48 时间
案例一:if-else

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

例如:

select * from t_stu t 

 where 

 choose 

 when test="query == 0" 

 and t.status = 1 

 /when 

 otherwise 

 and t.status NOT IN (9,5) 

 /otherwise 

 /choose 

 and t.delete_status = 1 

 /where 

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

select * from t_stu t 

 where 

 if test="query == 0" 

 and t.status = 1 

 /if 

 if test="query != 0" 

 and t.status NOT IN (9,5) 

 /if 

 and t.delete_status = 1 

 /where 

案例二:if嵌套

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

select * from t_stu t 

 where 

 if test="query == 0 and type = 1" 

 and t.type = we and t.delete = 1 

 /if 

 if test="query == 0 and type = 2" 

 and t.type = wq and t.delete = 1 

 /if 

 if test="query == 0 and type = 3" 

 and t.type = wr and t.delete = 1 

 /if 

 /where 

变现后:

select * from t_stu t 

 where 

 if test="query == 0" 

 if test="type = 1" 

 and t.type = we 

 /if 

 if test="type = 2" 

 and t.type = wq 

 /if 

 if test="type = 3" 

 and t.type = wr 

 /if 

 /if 

 and t.delete = 1 

 /where 

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/17659.html

cjava