mybatis-plus自动注入字段(MetaObjectHandler类)惊天大坑

今天测试mybatis-plus的MetaObjectHandler类,重写过后,在测试的时候,发现MetaObjectHandler类一直不生效,通过检查,MetaObjectHandler工具类的注解写了,实体类的fill指向也写对了,排查了两个小时,但是一直不生效。

问题:因为MetaObjectHandler类和测试类在不同的modle,两个modle都是同一个modle的子模块,问题就在这里,且称两个modle分别为A、B,如果你在B中调用A中的工具类,首先要保证调用类和被调用类在同级目录下,比如工具类在java包的一级子目录,那么调用类就必须也在java包的一级子目录下,而且

*****************如果在二级目录或者三级目录下,那么java包下的两级目录包名要相同

像这样,否则,该工具类也不会生效!!!!!!!!!!!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 可以使用Mybatis-plus提供的update方法来修改本身字段。例如: ```java User user = new User(); user.setId(1L); user.setName("new name"); user.setAge(20); userMapper.updateById(user); ``` 这样就可以将id为1的用户的name和age字段更新为"new name"和20。 ### 回答2: 在使用MyBatis-Plus修改本身字段时,可以通过以下步骤进行操作: 首先,在数据库表中定义需要修改的字段。假设我们有一个名为user的表,其中有一个字段为name。 其次,通过MyBatis-Plus的实体,例如User实体,在对应的字段上添加@TableField注解。这样可以告诉MyBatis-Plus字段需要被修改。 然后,在进行数据修改时,通过MyBatis-Plus的update方法来更新表中的数据。可以使用Wrapper来构建修改条件,然后使用set方法来设置修改的字段值。 最后,调用update方法执行修改操作。 下面是一个示例代码: ```java // 导入需要的 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.additional.update.impl.UpdateChainWrapper; import com.example.demo.entity.User; import com.example.demo.mapper.UserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class UserService { @Autowired private UserMapper userMapper; public void updateUser(String id, String name) { // 创建修改条件 UpdateWrapper<User> wrapper = new UpdateWrapper<>(); wrapper.eq("id", id); // 设置修改字段值 User user = new User(); user.setName(name); // 执行更新操作 userMapper.update(user, wrapper); } } ``` 在上述代码中,首先创建了一个UpdateWrapper对象,并指定修改条件为id等于指定的id。然后创建一个User对象,并设置需要修改的字段值。最后调用update方法执行更新操作。 通过以上步骤,就可以实现使用MyBatis-Plus修改本身字段的功能。 ### 回答3: Mybatis-plus是一款基于Mybatis的增强工具,在实现数据库操作时提供了很多便捷的功能。要修改本身字段,可以通过以下步骤实现: 1. 创建一个实体,映射到数据库的表中。实体的属性要与表的字段一一对应,并提供对应的getter和setter方法。 2. 在配置文件中配置数据源和Mybatis-plus的相关配置。 3. 编写对应的Mapper接口,通过继承Mybatis-plus中的BaseMapper接口或者自定义接口,定义需要执行的数据库操作方法。 4. 在Mapper接口中定义一个修改数据的方法,并使用Mybatis-plus提供的注解@Update来完成字段的修改。该注解中的value属性可以编写更新语句,使用#{属性名}来引用实体中的属性。 5. 在Service层中调用Mapper接口中定义的修改方法,将需要修改的数据作为参数传入。 6. 在控制层中调用Service层中的方法,完成数据修改操作。 通过以上步骤,可以使用Mybatis-plus修改本身字段。在修改时需要注意保证实体中的属性与数据库表的字段一一对应,以及正确配置相关的Mapper接口和注解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值