当前位置: 首页 > news >正文

泗泾做网站成都p2p网站建设

泗泾做网站,成都p2p网站建设,帮建网站,seo推广培训学费MyBatis-Plus 是一个 MyBatis 的增强工具,在简化开发、提高效率方面表现非常出色。然而,在使用 MyBatis-Plus 更新对象时,默认情况下是不会将字段值更新为 null 的。这是因为 MyBatis-Plus 使用了非空字段策略(FieldStrategy&…

        MyBatis-Plus 是一个 MyBatis 的增强工具,在简化开发、提高效率方面表现非常出色。然而,在使用 MyBatis-Plus 更新对象时,默认情况下是不会将字段值更新为 null 的。这是因为 MyBatis-Plus 使用了非空字段策略(FieldStrategy),默认配置为 NOT_NULL,即只更新非空字段。

        如果你需要将某些字段的值更新为 null,有几种方法可以实现。本文将介绍几种常见的方法。

方法一:使用 set 方法手动设置字段为 null

        在更新对象时,你可以手动将需要更新为 null 的字段设置为 null。然后,MyBatis-Plus 会将这些字段包含在更新语句中。

User user = new User();  
user.setId(1L);  
user.setName(null); // 将 name 字段更新为 null  userMapper.updateById(user);
方法二:使用 UpdateWrapper 或 LambdaUpdateWrapper

  UpdateWrapper 和 LambdaUpdateWrapper 提供了更灵活的更新条件,你可以使用它们来明确指定哪些字段需要更新为 null

UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();  
updateWrapper.eq("id", 1L)  .set("name", null); // 将 name 字段更新为 null  userMapper.update(null, updateWrapper);

或者使用 LambdaUpdateWrapper

LambdaUpdateWrapper<User> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();  
lambdaUpdateWrapper.eq(User::getId, 1L)  .set(User::getName, null); // 将 name 字段更新为 null  userMapper.update(null, lambdaUpdateWrapper);
方法三:配置全局策略(不推荐)

        虽然可以通过配置全局的 FieldStrategy 为 IGNORED 来允许更新为 null,但这通常不推荐,因为它会影响所有的更新操作。

        在 application.yml 或 application.properties 中配置:

mybatis-plus:  global-config:  db-config:  field-strategy: ignored # 允许字段为 null

或者在 Java 配置类中配置:

@Bean  
public MybatisPlusConfig customMybatisPlusConfig() {  MybatisPlusConfig config = new MybatisPlusConfig();  GlobalConfig globalConfig = new GlobalConfig();  globalConfig.setDbConfig(new DbConfig().setFieldStrategy(FieldStrategy.IGNORED));  config.setGlobalConfig(globalConfig);  return config;  
}

注意:这种方法会影响全局的字段策略,可能会导致一些意外的更新行为,因此不推荐使用。

方法四:自定义方法(高级用法)

        如果你需要更复杂的更新逻辑,可以自定义 Mapper 方法,并在 XML 文件中编写自定义的 SQL 语句。

@Mapper  
public interface UserMapper extends BaseMapper<User> {  @Update("UPDATE user SET name = #{name} WHERE id = #{id}")  int updateNameById(@Param("id") Long id, @Param("name") String name);  
}

 然后调用自定义方法:

userMapper.updateNameById(1L, null); // 将 name 字段更新为 null

总结

        MyBatis-Plus 提供了多种方法来将字段值更新为 null,你可以根据具体需求选择合适的方法。手动设置字段为 null 和使用 UpdateWrapper/LambdaUpdateWrapper 是最常见和推荐的方法。全局配置策略虽然简单,但可能会影响其他更新操作,因此应谨慎使用。自定义方法则提供了更高的灵活性,适用于复杂的更新逻辑。


新时代农民工 (QQ:277718357) 点击关注下方  微信公众号:程序进阶之路,了解更多技术知识。   

http://www.yayakq.cn/news/465323/

相关文章:

  • 银川网站建设哪家优质WordPress 微信登录 免费
  • 燕郊医院网站建设取消wordpress的最近文档
  • 河津网站建设铜川市新区建设局网站
  • 微信公众号上做网站drupal7建站教程
  • 高端网站欣赏赚钱软件
  • 网站备案注销 万网设计专业考研平面素材网站
  • 深圳手机网站建设公司国产服务器系统免费的有哪些
  • 公司免费网站汶上网站制作
  • 免费做网站建设单位网站备案
  • 呼和浩特建设厅官方网站站长工具综合查询系统
  • 网站开发毕业答辩演讲稿范文无锡网站建设设计
  • 自己的网站怎么推广手游源码资源网
  • 网站开发g这几年做那个网站致富
  • 医疗网站优化怎么做wordpress淘客采集
  • 中小企业网站建设论文百度seo排名点击软件
  • 工程在哪个网站做推广比较合适企业展厅怎么设计
  • 南山网站 建设seo信科湖北省建设厅投标报名官方网站
  • 微信商城网站建设多少钱濮阳做网站推广的公司
  • 建设网站基本步骤优秀网站建设设计
  • 网站怎么推广效果最好某服装企业网站建设方案
  • 海南景区网站建设方案梧州seo排名
  • 时代创信网站建设福永网站设计多少钱
  • 广州网站建设有哪些注册公司一年要交多少税
  • php做视频网站有哪些软件对外贸网站建设的建议
  • 东莞阳光网站投诉平台seo关键词排名优化系统
  • 娱乐平台类网站怎做关键词wordpress get_the_terms
  • 蒲城县住房和城乡建设局网站怎么用ps做网站首页背景图片
  • wordpress minty阜新网站优化
  • 学习网站模板成都网站建设麦格思
  • 龙华网站建设服务深圳国际物流公司排名前十