示例代码:

接口定义:
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="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mybatis.dao.EmployeeMapper"><update id="updateEmp">update tbl_employee<set><if test="lastName!=null">last_name=#{lastName},</if><if test="email!=null">email=#{email},</if><if test="gender!=null">gender=#{gender}</if></set>where id=#{id}</update><update id="updateEmployee">update tbl_employee<trim prefix="set" suffixOverrides=","><if test="lastName!=null">last_name=#{lastName},</if><if test="email!=null">email=#{email},</if><if test="gender!=null">gender=#{gender}</if></trim>where id=#{id}</update>
</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);}@Testpublic void test() throws IOException {SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();SqlSession openSession = sqlSessionFactory.openSession(true);try {EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);mapper.updateEmp(new Employee(1, "good", null, null));mapper.updateEmployee(new Employee(5, "test", null, null));} finally {openSession.close();}}
}

转载于:https://www.cnblogs.com/xidian2014/p/10351644.html

Mybatis学习笔记13 - 动态sql之set标签相关推荐

  1. MyBatis:学习笔记(4)——动态SQL

    MyBatis:学习笔记(4)--动态SQL 转载于:https://www.cnblogs.com/MrSaver/p/7453949.html

  2. Mybatis学习笔记之---动态sql中标签的使用

    动态Sql语句中标签的使用 (一)常用标签 1.<if> if标签通常用于WHERE语句中,通过判断参数值来决定是否使用某个查询条件, 他也经常用于UPDATE语句中判断是否更新某一个字段 ...

  3. mybatis学习笔记(13)-延迟加载

    2019独角兽企业重金招聘Python工程师标准>>> mybatis学习笔记(13)-延迟加载 标签: mybatis [TOC] resultMap可以实现高级映射(使用asso ...

  4. JavaWeb学习笔记(动态SQL)

    JavaWeb学习笔记(动态SQL) 动态SQL中的元素 < if>元素 < choose>.< when>.< otherwise>元素 < w ...

  5. mybatis学习7之动态sql

    动态sql环境搭建和数据准备 工具类,获取UUID package com.shan.utils;import org.junit.Test;import java.util.UUID;public ...

  6. mybatis(18)——动态sql,where标签去掉多余的and和or

    1.不使用where标签可能会出现的问题 <select id="getStudents" resultType="student" parameterT ...

  7. Hadoop学习笔记—13.分布式集群中节点的动态添加与下架

    Hadoop学习笔记-13.分布式集群中节点的动态添加与下架 开篇:在本笔记系列的第一篇中,我们介绍了如何搭建伪分布与分布模式的Hadoop集群.现在,我们来了解一下在一个Hadoop分布式集群中,如 ...

  8. 超详细Mybatis学习笔记(可供下载)

    文章目录 1.简介 2.第一个Mybatis程序 搭建环境 编写代码 测试 3.CRUD(增删改查) 3.1.几个属性 3.2.select 3.3.insert 3.4.delete 3.5.upd ...

  9. mybatis学习笔记(7)-输出映射

    2019独角兽企业重金招聘Python工程师标准>>> mybatis学习笔记(7)-输出映射 标签: mybatis [TOC] 本文主要讲解mybatis的输出映射. 输出映射有 ...

最新文章

  1. yolov5 加跟踪 姿态
  2. 机器视觉-EasyDL商品检测-标准版-Demo
  3. Leetcode1704判断字符串的两半是否相似(C++题解)
  4. java反编译工具_漫话:如何给女朋友解释什么是编译与反编译
  5. android 开源fc模拟器_星标 4.5K!又一个跨端框架,腾讯开源内部跨端统一开发框架:Hippy...
  6. 支付宝支付-提现到个人支付宝
  7. python获取当前时间的源代码_Python获取时间戳代码实例
  8. java file rename 失败_java重命名文件造成文件不可读写
  9. linux中如何在文件中查找文件,linux下find(文件查找)命令的用法总结
  10. javascript 库_您应该在2020年尝试的10个很棒JavaScript库
  11. 常用NTP网络时间服务器整理
  12. vue的watch使用(如淘宝优惠券设置计算属性时候)
  13. BZOJ 3238: [Ahoi2013]差异 [后缀数组 单调栈]
  14. 华为手机左侧快捷方式,手机桌面太复杂?华为手机自动对齐整理桌面图标方法!...
  15. c语言实现对矩阵进行行程编码,游程编码行程编码.pptx
  16. 《加速器理论(第二版)》读书笔记
  17. 自动发射子弹c语言,C语言实现简单飞机大战
  18. 【蓝桥杯选拔赛真题40】Scratch跳格子 少儿编程scratch蓝桥杯选拔赛真题讲解
  19. 面向对象下 abstract关键字(宋红康JAVASE)
  20. oracle公共同义词查找,[Oracle]同义词(synonym)

热门文章

  1. c语言 数组循环移动,如何将一个数组的元素循环左移?
  2. 每日一题(1) —— 数组计算
  3. TQ210 —— s5pv210 Linux内核结构
  4. qq浏览器主页_安卓浏览器哪家强?这些小众好用的手机浏览器你知道吗
  5. C++类对象排序operator重载操作
  6. LeetCode 263. 丑数 264. 丑数 II(DP)
  7. 计算机应用基础一级考试题库,2018一级结构工程师《计算机应用基础》题库及答案(一)...
  8. spring手动回滚事务_Spring总结---gt;03
  9. 为学好计算机 要采取什么措施,计算机概念教学的内容及对策
  10. python中遇到循环import即circular import的问题原理剖析及解决方案