mybatis动态标签——choose、when、otherwise
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.xxx.dynamicSQL.mapper.EmpMapper"> <!-- choose、when、otherwise相当于if, else if ,else when至少设置一个,匹配上条件后,其他的条件不执行
otherwise最多设置一个,when中的条件都不符合时,执行该条件 --> <select id="getEmp" resultType="emp"> select * from t_emp <where> <choose> <when test="empName != null and empName != ''"> emp_name = #{empName} </when> <when test="age != null and age != ''"> age = #{age} </when> <when test="gender != null and gender != ''"> gender = #{gender} </when> <otherwise> emp_id = 1 </otherwise> </choose> </where> </select> </mapper>
测试代码1:
@Test public void test1(){ SqlSession sqlSession = SqlSessionUtil.getSqlSession(); EmpMapper mapper = sqlSession.getMapper(EmpMapper.class); Emp emp = new Emp(null,"",11,"男"); List<Emp> list = mapper.getEmp(emp); list.forEach(System.out::println); }
测试代码2:
@Test public void test1(){ SqlSession sqlSession = SqlSessionUtil.getSqlSession(); EmpMapper mapper = sqlSession.getMapper(EmpMapper.class); Emp emp = new Emp(null,"",null,""); List<Emp> list = mapper.getEmp(emp); list.forEach(System.out::println); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2022-03-03 webpack安装和使用
2022-03-03 模块化