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全局配置文件解析,需要的朋友可以参考下2017-05-05
Spring BeanFactory 与 FactoryBean 的区别详情
这篇文章主要介绍了Spring BeanFactory 与 FactoryBean 的区别详情,BeanFactory 和 FactoryBean 的区别却是一个很重要的知识点,在本文中将结合源码进行分析讲解,需要的小伙伴可以参考一下2022-05-05
详解Spring Data JPA中Repository的接口查询方法
repository代理有两种方式从方法名中派生出特定存储查询:通过直接从方法名派生查询和通过使用一个手动定义的查询。本文将通过示例详细讲解Spring Data JPA中Repository的接口查询方法,需要的可以参考一下2022-04-04
解决java.lang.IllegalStateException:Duplicate key异常问题
java.lang.IllegalStateException:Duplicatekey异常在将List转换为Map时出现,解决方法是使用toMap()的重载方法,如果已经存在则不再修改,直接使用上一个数据2025-03-03


最新评论