`

mybatis3学习笔记(五)之高级查询

阅读更多
1.修改StudentMapper.xml文件,增加动态sql语句映射
<!-- 动态sql -->
 <select id="dymSelectStudent"  resultMap="studentResultMap">
  select * from student
  <where>
   <!-- 模糊查询 -->
   <!-- mysql -->
   <if test="name != null">
    and stu_name like   concat('%',#{name},'%') 
   </if>
   <!-- sqlserver 
   <if test="name != null">
    and stu_name like   '%'+#{name}+'%'
   </if>
   -->
   <!-- oracle
   <if test="name != null">
    and stu_name like   '%'||#{name}||'%'
   </if>
    -->
   <choose>
    <when test="code=='001'">
     and stu_code = '001'
    </when>
    <when test="code=='002'">
     and stu_code = '002'
    </when>
    <otherwise>
     and stu_code = #{code}
    </otherwise>
   </choose>
   
   <if test="list!=null">
   and id in 
   <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
    #{item}
   </foreach>
   </if>
    order by ${orderName}
  </where>
 </select>
2.增加测试用例
@Test
 public void dymSelectStudentTest(){
  SqlSession session = sessionFactory.openSession();
  try{
   HashMap<String,Object> map = new HashMap<String, Object>();
   List<Long> ids = new ArrayList<Long>();
   ids.add(9L);
   ids.add(10L);
   map.put("code", "005");
   map.put("name", "hel");
   map.put("list", ids);
   map.put("orderName", "id");
   List<Student> studentList =  (List<Student>)session.selectList("com.mybatis.mapper.StudentMapper.dymSelectStudent", map);
   for(Student s : studentList)
    System.out.println("name:"+s.getName());
  }catch(Exception e){
   e.printStackTrace();
  }finally{
   session.close();
  }
 }
 

分享到:
评论

相关推荐

    MyBatis3学习笔记.pdf

    所传资源为实训的Mybatis零基础入门笔记,非常适合现学现用的开发者。 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎 所有的 JDBC 代码以及设置参数和获取结果集的...

    Mybatis(学习笔记):入门项目创建流程

    MyBatis 是一款优秀的持久层框架:它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 ...

    mybatis学习笔记资料

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 ...

    JavaEE企业级分布式高级架构师018期 94G

    ├─第1章 mybatis从入门到精通 │ │ 第一章第1节: 02-mybatis介绍.mp4 │ │ 第一章第1节: 03-mybatis入门.mp4 │ │ 第一章第1节: 04-mybatis基础应用...│ ├─第3节 9月5日 Mybatis02-手写Mybatis框架

    Mybatis笔记.zip

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。... 本文档包含了Mybatis的基础学习课件与笔记标注。

    《谷粒商城2020》基础篇+高级篇完整版合集,内含java代码前端vue代码sql文件学习笔记

    说明一下,压缩包里面的笔记是自己整理的视频中的大部分运行命令,请知晓。如有疑问可以私信,谢谢。包含初级篇完整代码和高级篇完整代码,后台系统vue代码,sql文件(在基础篇资料源码中)。官网基础篇和高级篇资料...

    程序员面试刷题的书哪个好-LearnMybatis:学习Mybatis

    MyBatis学习笔记 - - - - - 1.简介 MyBatis是什么 MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 MyBatis 可以使用简单...

    SpringMVC学习笔记整合搭建框架

    4、SpringMVC整合MyBatis 5、参数绑定 a)SpringMVC默认支持的类型 b)简单数据类型 c)Pojo类型 d)Pojo包装类型 e)自定义参数绑定 6、SpringMVC和Struts2的区别 第二天 1、高级参数绑定 a)数组类型的参数绑定 b)List...

    SSM实战项目——Java高并发秒杀API,详细流程+学习笔记.zip

    SSM(Spring + Spring MVC + MyBatis)框架作为Java开发中的黄金组合,为开发者提供了强大的技术支持和丰富的功能。本系列资料将带您从零基础开始,逐步掌握SSM的核心技术和最佳实践,助您在Java Web开发领域更上一...

    Java面试笔记.zip

    学习笔记和心得:记录了学习过程中的重点难点和心得体会,有助于学习者更好地理解和掌握知识。 二、适用人群 本资源适用于即将毕业或已经毕业,希望通过学习Java找到一份理想工作的同学。无论你是初学者还是有一定...

    Java高级工程师面试资料.zip

    学习笔记和心得:记录了学习过程中的重点难点和心得体会,有助于学习者更好地理解和掌握知识。 二、适用人群 本资源适用于即将毕业或已经毕业,希望通过学习Java找到一份理想工作的同学。无论你是初学者还是有一定...

    java中高级面试指南.zip

    学习笔记和心得:记录了学习过程中的重点难点和心得体会,有助于学习者更好地理解和掌握知识。 二、适用人群 本资源适用于即将毕业或已经毕业,希望通过学习Java找到一份理想工作的同学。无论你是初学者还是有一定...

    Java interview-高级Java面试题2023.zip

    学习笔记和心得:记录了学习过程中的重点难点和心得体会,有助于学习者更好地理解和掌握知识。 二、适用人群 本资源适用于即将毕业或已经毕业,希望通过学习Java找到一份理想工作的同学。无论你是初学者还是有一定...

    2023最新Java面试题面试经验笔记项目

    学习笔记和心得:记录了学习过程中的重点难点和心得体会,有助于学习者更好地理解和掌握知识。 二、适用人群 本资源适用于即将毕业或已经毕业,希望通过学习Java找到一份理想工作的同学。无论你是初学者还是有一定...

    经历BAT面试后总结的【高级Java后台开发面试指南】,纯净干货无废话,针对高频面试点.zip

    学习笔记和心得:记录了学习过程中的重点难点和心得体会,有助于学习者更好地理解和掌握知识。 二、适用人群 本资源适用于即将毕业或已经毕业,希望通过学习Java找到一份理想工作的同学。无论你是初学者还是有一定...

    Spring高级源码教程笔记

    spring框架学习 ssh = spring + struts + hibernate ssm = spring + springmvc + mybatis spring全家桶:脚⼿架框架springboot、微服务框架springcloud等等

    关于Java面试题、笔记的分享.zip

    学习笔记和心得:记录了学习过程中的重点难点和心得体会,有助于学习者更好地理解和掌握知识。 二、适用人群 本资源适用于即将毕业或已经毕业,希望通过学习Java找到一份理想工作的同学。无论你是初学者还是有一定...

    Java课堂笔记、代码、java核心知识点梳理、java笔试面试资料.zip

    学习笔记和心得:记录了学习过程中的重点难点和心得体会,有助于学习者更好地理解和掌握知识。 二、适用人群 本资源适用于即将毕业或已经毕业,希望通过学习Java找到一份理想工作的同学。无论你是初学者还是有一定...

Global site tag (gtag.js) - Google Analytics