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 = ? )

总结

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

相关文章

  • Spring+SpringMVC+MyBatis深入学习及搭建(三)之MyBatis全局配置文件解析

    Spring+SpringMVC+MyBatis深入学习及搭建(三)之MyBatis全局配置文件解析

    这篇文章主要介绍了Spring+SpringMVC+MyBatis深入学习及搭建(三)之MyBatis全局配置文件解析,需要的朋友可以参考下
    2017-05-05
  • Spring BeanFactory 与 FactoryBean 的区别详情

    Spring BeanFactory 与 FactoryBean 的区别详情

    这篇文章主要介绍了Spring BeanFactory 与 FactoryBean 的区别详情,BeanFactory 和 FactoryBean 的区别却是一个很重要的知识点,在本文中将结合源码进行分析讲解,需要的小伙伴可以参考一下
    2022-05-05
  • 快速入门HarmonyOS的Java UI框架的教程

    快速入门HarmonyOS的Java UI框架的教程

    这篇文章主要介绍了快速入门HarmonyOS的Java UI框架,本文给大家介绍的非常详细对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • 详解Spring Data JPA中Repository的接口查询方法

    详解Spring Data JPA中Repository的接口查询方法

    repository代理有两种方式从方法名中派生出特定存储查询:通过直接从方法名派生查询和通过使用一个手动定义的查询。本文将通过示例详细讲解Spring Data JPA中Repository的接口查询方法,需要的可以参考一下
    2022-04-04
  • idea 程序打包 jar 发布的配置方法

    idea 程序打包 jar 发布的配置方法

    文章介绍了如何在IntelliJ IDEA中配置和构建JAR包,包括设置Artifact、选择MainClass、配置输出路径等步骤,并提供了发布JAR包的命令,感兴趣的朋友跟随小编一起看看吧
    2024-11-11
  • Netty中的心跳检测机制详解

    Netty中的心跳检测机制详解

    这篇文章主要介绍了Netty中的心跳检测机制详解,Netty 是 基于 TCP 协议开发的,在四层协议 TCP 协议的实现中也提供了 keepalive 报文用来探测对端是否可用,TCP 层将在定时时间到后发送相应的 KeepAlive 探针以确定连接可用性,需要的朋友可以参考下
    2023-12-12
  • 解决java.lang.IllegalStateException:Duplicate key异常问题

    解决java.lang.IllegalStateException:Duplicate key异常问题

    java.lang.IllegalStateException:Duplicatekey异常在将List转换为Map时出现,解决方法是使用toMap()的重载方法,如果已经存在则不再修改,直接使用上一个数据
    2025-03-03
  • 详解如何使用SpringBoot的缓存@Cacheable

    详解如何使用SpringBoot的缓存@Cacheable

    这篇文章主要为大家介绍了如何使用SpringBoot的缓存@Cacheable详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Java项目中MinIO使用超全流程(含完整示例)

    Java项目中MinIO使用超全流程(含完整示例)

    MinIO是全球领先的对象存储先锋,目前在全世界有数百万的用户,这篇文章主要介绍了Java项目中MinIO使用的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2026-04-04
  • Java实现订单超时自动取消的7种方案

    Java实现订单超时自动取消的7种方案

    在电商、外卖、票务等系统中,订单超时未支付自动取消是一个常见的需求,这个功能乍一看很简单,甚至很多初学者会觉得:"不就是加个定时器么?" 但真到了实际工作中,细节的复杂程度往往会超乎预期,本文给大家介绍了Java实现订单超时自动取消的7种方案
    2024-12-12

最新评论