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学习笔记】 MyBatis是一个优秀的Java持久层框架,它的主要目标是简化数据库操作,将复杂的JDBC代码和手动设置参数与获取结果集的过程自动化。MyBatis的核心理念是将Java方法与SQL语句绑定,使得开发者...
MyBatis 学习笔记 MyBatis 是一个流行的 SQL 映射框架,能够自定义 SQL、存储过程和高级映射的持久层框架。在本文中,我们将从基本概念开始,逐步深入讲解 MyBatis 的使用和配置。 MyBatis 概念 MyBatis 是一个...
在这些MyBatis学习笔记中,我们可以期待涵盖以下几个关键知识点: 1. **MyBatis简介**:首先会介绍MyBatis的起源、目标和优点,例如简化数据库操作、提高开发效率、易于维护等。 2. **环境搭建**:包括如何下载...
《传智播客Springmvc+mybatis由浅入深学习笔记》是一套全面解析Springmvc和Mybatis两大主流Java框架的教程,旨在帮助初学者和进阶者深入理解这两个技术的核心概念和应用。该资源包括了四部分课堂笔记,分别是...
MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs...
MyBatis学习总结笔记 MyBatis是一个优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBatis可以通过简单的XML或注解来配置和映射原始...
本学习笔记是作者在大学期间深入学习Mybatis后的整理,旨在帮助初学者快速入门并掌握其核心概念与功能。 笔记共分为11个章节,涵盖Mybatis的基础到高级应用,以下是主要知识点的详细讲解: 1. **Mybatis简介**:...
总的来说,MyBatis 的简单学习笔记涵盖了基础的 SqlSession 使用、Mapper 接口的代理对象获取、配置文件的结构和配置选项等内容,这些都是理解和使用 MyBatis 必须掌握的基础知识。通过深入理解这些概念,你可以更...
在本学习资源中,你将找到一份详尽的Mybatis学习笔记和源码,这将极大地助力你的学习过程,尤其是对自学者而言。这份笔记被认为是非常有价值且深入的,作者在其中倾注了大量的精力,确保了内容的全面性和实用性。 ...
马士兵老师的MyBatis学习笔记主要涵盖了以下几个核心知识点: 1. **MyBatis安装与环境搭建**:首先,你需要配置Java开发环境,并了解Maven或Gradle构建工具,因为MyBatis通常与这些工具结合使用来管理依赖。然后,...
这些知识点只是MyBatis学习笔记中的一部分,完整的笔记可能会包含更多细节,如MyBatis的插件机制、日志配置、以及高级特性等内容。通过 Typora 的Markdown格式和图片辅助,学习者可以更直观地理解和掌握这些概念。
### Mybatis学习笔记知识点 #### 1. Mybatis 相关概念 ##### 1.1 什么是 Mybatis Mybatis 是一款优秀的持久层框架,它支持普通的 SQL 查询、存储过程以及高级映射等功能。该框架简化了 JDBC 的使用,允许开发者以...
【mybatis_maven学习笔记】 在Java开发领域,MyBatis和Maven是两个不可或缺的工具,它们分别在数据访问层和项目构建方面扮演着重要角色。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,...