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();
相关推荐
S***q3773 小时前
【Springboot】@Autowired和@Resource的区别
java·spring boot·mybatis
e***19354 小时前
【mybatis】基本操作:详解Spring通过注解和XML的方式来操作mybatis
xml·spring·mybatis
7ioik6 小时前
Spring框架整合MyBatis框架?(超级详细)
java·spring·mybatis
踏浪无痕6 小时前
你真的懂泛型吗?手写 MyBatis-Plus + Jackson,揭秘框架设计的精髓
后端·json·mybatis
g***26797 小时前
Springboot中mybatis的使用
spring boot·后端·mybatis
♡喜欢做梦8 小时前
MyBatis操作数据库(进阶):动态SQL
java·数据库·sql·java-ee·mybatis
8***Z8917 小时前
springboot 异步操作
java·spring boot·mybatis
小张程序人生1 天前
Mybatis的逆向工程讲解
mybatis