区块链技术博客
www.b2bchain.cn

mybatis-plus 查询,删除

这篇文章主要介绍了mybatis-plus 查询,删除的讲解,通过具体代码实例进行20161 讲解,并且分析了mybatis-plus 查询,删除的详细步骤与相关技巧,需要的朋友可以参考下https://www.b2bchain.cn/?p=20161

本文实例讲述了2、树莓派设置连接WiFi,开启VNC等等的讲解。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/7039.html。具体如下:

title

    • 查询 单值,多个主键,条件
    • 分页查询
    • 物理删除,逻辑删除

mybatis-plus 新增,修改


查询 单值,多个主键,条件

    @Test     void queryOne() {         // 查询单个user         User user = userMapper.selectById(1);          System.out.println(user);     }      @Test     void queryBatchUser() {         // 根据id查询多个user         List<User> users = userMapper.selectBatchIds(Arrays.asList(1, 2, 3));         users.forEach(System.out::println);     }      @Test     void queryByMap() {         // 多条件查询         Map<String, Object> conditionParamMap = new HashMap<>();          conditionParamMap.put("name", "Jack");         conditionParamMap.put("id", "2");          List<User> users = userMapper.selectByMap(conditionParamMap);         users.forEach(System.out::println);     } 

分页查询

package cn.bitqian.config;  import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;  import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.transaction.annotation.EnableTransactionManagement;  /**  * mybatis plus配置类  * @author echo lovely  * @date 2020/11/15 09:48  */  @EnableTransactionManagement // 开启事务 @MapperScan("cn.bitqian.mapper") @Configuration public class MyBatisPlusConfig {      // mybatis插件注册     @Bean     public MybatisPlusInterceptor mybatisPlusInterceptor() {          // 分页查询         PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();          // 添加分页查询到插件中         mybatisPlusInterceptor.addInnerInterceptor(paginationInnerInterceptor);          return mybatisPlusInterceptor;      }  }  

分页测试

    @Test     void queryByPaging() {         int pageNum = 1;         int pageSize = 5;         Page<User> page = new Page<>(pageNum, pageSize);          Page<User> userPage = userMapper.selectPage(page, null);          // 遍历 user         userPage.getRecords().forEach(System.out::println);     } 

物理删除,逻辑删除

物理删除:是真的把数据库从数据删除。


多条件删除

    @Test     void deleteById() {         // ctrl shift z        userMapper.deleteById(1327447426226786310l);     }      @Test     void deleteBatchByIds() {         userMapper.deleteBatchIds(                 Arrays.asList(1327447426226786306l,                         1327447426226786307l));     }      @Test     void deleteBatchByCondition() {         Map<String, Object> conditionParamMap = new HashMap<>();          // 删除name为abc的         conditionParamMap.put("name", "abc");          userMapper.deleteByMap(conditionParamMap);     } 

逻辑删除:有一个专门对应的列,表示删除状态的列。删除执行的是修改。
当查询的时候,查询没被改的状态。修改与查询同理。


为user表添加字段

 // 逻辑删除字段   @TableLogic   private int deleted;  

配置yaml,做逻辑删除会修改的值

# log4j std out mybatis-plus:   configuration:     log-impl: org.apache.ibatis.logging.stdout.StdOutImpl    # global 逻辑删除配置   global-config:     db-config:       logic-delete-field: deleted  # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置@TableLogic注解)       logic-delete-value: 1 # 逻辑已删除值(默认为 1)       logic-not-delete-value: 0 # 逻辑未删除值(默认为 0) 

测试删除

    // 逻辑删除 实际上是修改     @Test     void deleteByLogic() {         // 被逻辑删除后的值不会被查询,修改到         // SELECT id,name,age,email,version,deleted,gmt_create,gmt_modify FROM user WHERE id=? AND deleted=0         userMapper.deleteById(1l);     }  

delete ⇒ update
mybatis-plus 查询,删除

本文转自互联网,侵权联系删除mybatis-plus 查询,删除

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » mybatis-plus 查询,删除
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们