mybatis-plus 在lambdaUpdate中使用ypeHandler

使用场景

  • 需要使用lambdaUpdate更新数据
  • 实体类中的类型与数据库不匹配

解决办法

  • 使用set(R column, Object val, String mapping)方法
java 复制代码
    /**
     * 设置 更新 SQL 的 SET 片段
     *
     * @param column  字段
     * @param val     值
     * @param mapping 例: javaType=int,jdbcType=NUMERIC,typeHandler=xxx.xxx.MyTypeHandler
     * @return children
     */
    default Children set(R column, Object val, String mapping) {
        return set(true, column, val, mapping);
    }

示例

  • 假设用户表中存在字段名hobbies,字段类型jsonb
java 复制代码
			lambdaUpdate().eq(User::getId, user.getId())
                .set(SysSchool::getHobbies, user.getHobbies(),"typeHandler=com.xxx.handler.JsonbTypeHandler")
                .update();
相关推荐
计算机学姐20 小时前
基于SpringBoot的校园二手书籍交易系统【个性化推荐+数据可视化统计+我买到的+我卖出的】
vue.js·spring boot·后端·mysql·信息可视化·intellij-idea·mybatis
zjneymar21 小时前
Mybatis的动态sql
java·sql·mybatis
稻草猫.1 天前
MyBatis-Plus高效开发全攻略
java·数据库·后端·spring·java-ee·mybatis·mybatis-plus
计算机学姐1 天前
基于SpringBoot的网吧管理系统
java·spring boot·后端·spring·tomcat·intellij-idea·mybatis
弹简特1 天前
【JavaEE20-后端部分】 MyBatis 入门第四篇:多表查询、#{}与${}详解、数据库连接池
数据库·mybatis
哆啦A梦15881 天前
Springboot整合MyBatis实现数据库操作
数据库·spring boot·mybatis
弹简特2 天前
【JavaEE19-后端部分】 MyBatis 入门第三篇:使用XML完成增删改查
xml·mybatis
小江的记录本2 天前
【VO、DTO、Entity】VO、DTO、Entity三大核心数据对象全解析(附核心对比表 + 代码示例)
java·数据库·spring boot·spring·架构·mybatis·数据库架构
计算机学姐2 天前
基于SpringBoot的流浪动物救助收养系统
vue.js·spring boot·后端·mysql·java-ee·intellij-idea·mybatis
计算机学姐2 天前
基于SpringBoot的蛋糕烘焙销售服务系统
java·spring boot·后端·spring·tomcat·intellij-idea·mybatis