示例代码:

接口定义:
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 mapper
PUBLIC "-//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);
} @Test
public 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();
}
}
}

最新文章

  1. 利用xtrabackup备份mysql数据库
  2. PHP常用数组函数介绍
  3. C# tabconctrol切换事件
  4. linux Bash
  5. Unity3D研究院之使用Animation编辑器编辑动画(五十四)
  6. C++Premer Plus学习(五)&mdash;&mdash;函数探幽
  7. 【JavsScript】Spine的作者曾经是Backbone的作者
  8. 十六进制转十进制 - C
  9. 1230.2——iOS准备(阅读开发者文档时的笔记)
  10. Android基础知识03—Activity的基本用法
  11. Maven-设置默认Java编译版本
  12. flask源码剖析
  13. mysql delete两种关联删除方式
  14. Django:视图views(一)
  15. 兼容IE8的video写法
  16. 12. ajax、datagrid请求传参实例
  17. 开启Centos系统的SSH服务
  18. [2017BUAA软工]结对项目
  19. pandas将字段中的字符类型转化为时间类型,并设置为索引
  20. C++中标准输入流cin与Ctrl+Z使用时的问题

热门文章

  1. javascript 基础练习 做Bingo图
  2. java8的十大新特性
  3. Oracle数据库之多表查询一
  4. mysql--表数据的操作
  5. STL-- vector中resize()和reserve()区别
  6. python(二):可变参数
  7. MySQL慢日志线上问题分析及功能优化
  8. Kotlin 关系运算符和Boolean
  9. Django之高级视图与URL
  10. String类-小用