MyBatis:学习笔记(4)——动态SQL】的更多相关文章

MyBatis:学习笔记(4)——动态SQL…
通过mybatis提供的各种标签方法实现动态拼接sql. 需求:根据性别和名字查询用户 查询sql: SELECT id, username, birthday, sex, address FROM `user` WHERE sex = 1 AND username LIKE '%张%' 一.if标签 1.1 Mapper.xml文件 UserMapper.xml配置sql,如下: <!-- 根据条件查询用户 --> <select id="queryUserByWhere&q…
动态Sql语句中标签的使用 (一)常用标签 1.<if> if标签通常用于WHERE语句中,通过判断参数值来决定是否使用某个查询条件, 他也经常用于UPDATE语句中判断是否更新某一个字段,还可以在INSERT语句中用来判断是否插入某个字段的值 2.<where> where元素的作用是给SQL语句添加一个条件判断. 如果输出后是and 开头的,MyBatis会把第一个and忽略,当然如果是or开头的,MyBatis也会把它忽略:此外,在where元素中你不需要考虑空格的问题,My…
一.<if> 使用<if>可以根据具体情况来拼接SQL语句,使其更加灵活更加适应我们的需求. <if>的标签体中是需要拼接的语句,满足条件才会将其进行拼接. <if>标签中的test属性用于判断添加. 例如我们现在有这样一个查询需求,如果客户名不为空则按客户名模糊查询, 如果客户职业不为空,则按职业查询.如果两者都不为空则按客户名和职业查询. <select id = "findByUsernameOrJobs" resultMap…
一.查询给定集合中员工id对应的所有员工信息 示例代码: 接口定义: package com.mybatis.dao; import com.mybatis.bean.Employee; import org.apache.ibatis.annotations.Param; import java.util.List; public interface EmployeeMapper { //查询员工id在给定集合中的所有员工信息 public List<Employee> getEmpsByC…
示例代码: 接口定义: package com.mybatis.dao; import com.mybatis.bean.Employee; import java.util.List; public interface EmployeeMapper { //携带了哪个字段查询条件就带上这个字段的值 public List<Employee> getEmpsByConditionIf(Employee employee); public List<Employee> getEmps…
示例代码: 接口定义: package com.mybatis.dao; import com.mybatis.bean.Employee; public interface EmployeeMapper { public void updateEmp(Employee employee); public void updateEmployee(Employee employee); } mapper定义: <?xml version="1.0" encoding="U…
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); } ma…
trim标签体中是整个字符串拼串后的结果.prefix="" 前缀: prefix给拼串后的整个字符串加一个前缀prefixOverrides="" 前缀覆盖: 去掉整个字符串前面多余的字符suffix="" 后缀: suffix给拼串后的整个字符串加一个后缀suffixOverrides="" 后缀覆盖:去掉整个字符串后面多余的字符 示例代码: 接口定义: package com.mybatis.dao; import co…
MyBatis:学习笔记(4)——动态SQL 如果使用JDBC或者其他框架,很多时候需要你根据需求手动拼装SQL语句,这是一件非常麻烦的事情.MyBatis提供了对SQL语句动态的组装能力,而且他只有几个基本的元素,十分简单明了,即大量的判断都可以在MyBatis的映射XML文件里面配置,已达到我们需要大量代码才可以实现的功能. 动态SQL元素 IF元素 IF元素是我们最常用的判断语句,相当于Java中的IF语句.它常常与test属性联合使用. <select id="findOffice…