tk mybatis update各种类型使用及说明

 更新时间:2026年04月24日 09:58:19   作者:自找苦吃,自得其乐  
文章总结了Java中使用MyBatis进行数据更新的方法,包括根据example对象更新所有属性或部分属性,以及根据主键更新所有属性或部分属性的API使用和生成的SQL语句

1.updateByExample

根据给定的example更新所有属性,包括主键id,所有属性都需要有值

package com.bsx.test;
public class Test {
    private int id;
    private String name;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
Example example = new Example(Test.class);
example.createCriteria().andEqualTo("name", "test");
Test record = new Test();
record.setName("hello");
mapper.updateByExample(record, example);

解析后sql:

UPDATE o2o_video_file  SET id = ?,name = ? WHERE (  name = ? )

2.updateByExampleSelective

根据给定的example更新有值的属性

Example example = new Example(Test.class);
example.createCriteria().andEqualTo("name", "test");
Test record = new Test();
record.setName("hello");
mapper.updateByExampleSelective(record, example);

解析后sql:

UPDATE o2o_video_file  SET name = ? WHERE (  name = ? )

3.updateByPrimaryKey

根据主键更新所有属性

Test record = new Test();
record.setId(123);
record.setName("hello");
mapper.updateByPrimaryKey(record, example);

解析后sql:

UPDATE o2o_video_file  SET id=?, name = ? WHERE (  id = ? )

4.updateByPrimaryKeySelective

根据主键更新有值属性

Test record = new Test();
record.setId(123);
record.setName("hello");
mapper.updateByPrimaryKey(record, example);

解析后sql:

UPDATE o2o_video_file  SET name = ? WHERE (  id = ? )

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringCloud基本Rest微服务工程搭建过程

    SpringCloud基本Rest微服务工程搭建过程

    这篇文章主要介绍了SpringCloud基本Rest微服务工程搭建,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • SpringBoot项目使用Log4j2+SLF4J构建日志的方法步骤

    SpringBoot项目使用Log4j2+SLF4J构建日志的方法步骤

    在现代软件开发中,日志记录是一个重要的部分,Spring Boot配置了多种日志框架,这篇文章主要介绍了SpringBoot项目使用Log4j2+SLF4J构建日志的方法步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-11-11
  • 一次排查@CacheEvict注解失效的经历及解决

    一次排查@CacheEvict注解失效的经历及解决

    这篇文章主要介绍了一次排查@CacheEvict注解失效的经历及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java三种循环求和方法

    Java三种循环求和方法

    本篇文章给大家介绍了Java三种循环求和的方法,大家在学程序的时候如果能用的到,参考下吧。
    2018-02-02
  • SpringMVC中的HandlerMapping详解

    SpringMVC中的HandlerMapping详解

    这篇文章主要介绍了SpringMVC中的HandlerMapping详解,HandlerMapping是请求映射处理器,也就是通过请求的url找到对应的逻辑处理单元(Controller),注意这里只是建立请求与Controller的映射关系,最终的处理是通过HandlerAdapt来进行处理的,需要的朋友可以参考下
    2023-09-09
  • druid监控无法关闭的坑以及处理方式

    druid监控无法关闭的坑以及处理方式

    这篇文章主要介绍了druid监控无法关闭的坑以及处理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Java虚拟机JVM栈溢出的问题解决

    Java虚拟机JVM栈溢出的问题解决

    Java虚拟机栈溢出是指在Java程序中,当线程调用的方法层级过深,导致栈空间溢出的情况,本文就详细的介绍了下产生的原因以及优化,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • Spring Utils工具类常用方法实例

    Spring Utils工具类常用方法实例

    这篇文章主要介绍了Spring Utils工具类常用方法实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Java 异步实现的几种方式小结

    Java 异步实现的几种方式小结

    这篇文章主要介绍了Java 异步实现的几种方式小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Servlet实现点击计数器的方法

    Servlet实现点击计数器的方法

    这篇文章主要介绍了Servlet实现点击计数器的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08

最新评论