MybatisPlus中的save方法什么时候执行insert,什么时候执行update

直接贴上save方法的实现:

public Entity save(Entity entity) throws DataServiceException {
        PK id = entity.getId();
        if (id == null) {        //此处仅仅是进行了判断null,没有进行空字符串判断。
            this.insert(entity);
        } else {
            this.update(entity);
        }

        return this.selectByPrimaryKey(entity.getId());
 }

很显然底层进行save操作的时候,先进行了id为空的判断,如果id为空就执行insert,如果id不为就执行update。注意此处的判断条件是null,id=""仍然执行update。

总结:遇到问题的时候不要第一时间去网上查阅资料,或者是问别人,这样很容易忘记。一定先查看它的底层实现原理,再去查阅其他资料

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
在SSM框架,可以按照以下步骤来搭建MyBatis Plus: 1. 引入MyBatis Plus依赖:在pom.xml添加MyBatis Plus的依赖: ```xml <!-- Mybatis Plus依赖 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.1</version> </dependency> ``` 2. 配置MyBatis Plus:在application.properties(或application.yml)文件配置MyBatis Plus,包括数据源的配置、MyBatis Plus的配置等。 ```properties # 数据源配置 spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai spring.datasource.username=root spring.datasource.password=root # MyBatis Plus配置 # 开启MyBatis Plus分页插件 mybatis-plus.pagehelper.helper-dialect=mysql mybatis-plus.pagehelper.reasonable=true mybatis-plus.pagehelper.params=count=countSql # MyBatis 扫描配置,扫描Mapper接口和XML mybatis.type-aliases-package=com.example.demo.entity mybatis.mapper-locations=classpath:mapper/*.xml ``` 3. 创建实体类和Mapper接口:根据需要创建实体类和Mapper接口,并使用@Mapper注解标识Mapper接口。 ```java @Mapper public interface UserMapper extends BaseMapper<User> { } ``` 4. 使用MyBatis Plus进行数据库操作:在Service层使用MyBatis Plus提供的API进行数据库操作,例如: ```java @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public User getById(Long id) { return userMapper.selectById(id); } @Override public List<User> listAll() { return userMapper.selectList(null); } @Override public boolean save(User user) { return userMapper.insert(user) > 0; } @Override public boolean update(User user) { return userMapper.updateById(user) > 0; } @Override public boolean deleteById(Long id) { return userMapper.deleteById(id) > 0; } } ``` 以上就是在SSM框架搭建MyBatis Plus的步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值