zl程序教程

您现在的位置是:首页 >  前端

当前栏目

mybatis-plus允许自定义handlerType的set

setmybatis 自定义 允许 Plus
2023-06-13 09:11:17 时间

今天看mybatis-plus源码发现了UpdateWrapper中的set竟然有一两个重载没有在官方文档写到:

一看官方示例,发现它可以临时自定义typeHandler,也就是类型处理器,以及属性所在的java类型和数据库中字段的数据类型(jdbcType)

例如官方示例传入的:

我们也可以像方法注释那样传入javaTypejdbcType

// wrapper typeHandler 测试
      LambdaUpdateWrapper<User> wrapper = Wrappers.<User>lambdaUpdate().set(User::getWallets, Arrays.asList(new Wallet("Tom",
              Arrays.asList(new Currency("RMB", 1000d)))), "javaType=java.util.List,jdbcType=VARCHAR,typeHandler=com.baomidou.mybatisplus.samples.typehandler.WalletListTypeHandler");
      wrapper.eq(User::getId, 2L);
      Assertions.assertEquals(userMapper.update(new User().setAge(99), wrapper), 1);

可以看到是成功运行