使用场景
- 需要使用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();