Mybatis学习笔记12 - 动态sql之choose(when otherwise)标签
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Mybatis学习笔记12 - 动态sql之choose(when otherwise)标签,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2003字,纯文字阅读大概需要3分钟。
内容图文
![Mybatis学习笔记12 - 动态sql之choose(when otherwise)标签](/upload/InfoBanner/zyjiaocheng/917/bcef854158f14d8d9aed122b2ada7b90.jpg)
choose (when, otherwise):分支选择;带了break的swtich-case
示例代码:
接口定义: package com.mybatis.dao; import com.mybatis.bean.Employee; import java.util.List; public interface EmployeeMapper { public List<Employee> getEmpsByConditionChoose(Employee employee); } mapper定义: <?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.mybatis.dao.EmployeeMapper"> <!-- choose (when, otherwise):分支选择;带了break的swtich-case 如果带了id就用id查,如果带了lastName就用lastName查,只会进入其中一个 --> <select id="getEmpsByConditionChoose" resultType="com.mybatis.bean.Employee"> select * from tbl_employee <where> <choose> <when test="id!=null"> id=#{id} </when> <when test="lastName!=null"> last_name like #{lastName} </when> <when test="email!=null"> email=#{email} </when> <otherwise> gender=0 </otherwise> </choose> </where> </select> </mapper> 测试代码: package com.mybatis.demo; import com.mybatis.bean.Employee; import com.mybatis.dao.EmployeeMapper; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Test; import java.io.IOException; import java.io.InputStream; import java.util.List; public class MyTest { public SqlSessionFactory getSqlSessionFactory() throws IOException { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); return new SqlSessionFactoryBuilder().build(inputStream); } @Test public void test() throws IOException { SqlSessionFactory sqlSessionFactory = getSqlSessionFactory(); SqlSession openSession = sqlSessionFactory.openSession(true); try { EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class); List<Employee> emps = mapper.getEmpsByConditionChoose(new Employee(1, "%t%", null, null)); for (Employee emp : emps) { System.out.println(emp); } } finally { openSession.close(); } } }
内容总结
以上是互联网集市为您收集整理的Mybatis学习笔记12 - 动态sql之choose(when otherwise)标签全部内容,希望文章能够帮你解决Mybatis学习笔记12 - 动态sql之choose(when otherwise)标签所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。