Mybatis-Plus 基本sql 与配置

本文介绍如何结合使用MyBatis与MyBatis-Plus,包括配置方法、依赖引入及多种查询操作示例,如单个结果查询、多条记录查询、分页查询等。

mybatis与mybatis-plus同时使用

配置文件

mybatis-plus:
  configuration:
    #这个配置会将执行的sql打印出来,在开发或测试的时候可以用
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    db-config:
      #逻辑未删除值,(逻辑删除下有效)
      logic-delete-value: 1
      #逻辑未删除值,(逻辑删除下有效)需要注入逻辑策略LogicSqlInjector,以@Bean方式注      入
      logic-not-delete-value: 0
  #配置扫描xml
  mapper-locations: classpath*:mapper/**/*Dao.xml # *.xml的具体路径

依赖

<!--        mybatis-plus-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.14</version>
        </dependency>
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.2</version>
</dependency>

方法一:根据主键id去查询单个结果 selectById


  1. /**
  2. * 方法一: 根据主键id去查询单个结果
  3. * T selectById(Serializable id); ---参数为主键类型
  4. */
  5. User user1 = userMapper.selectById(1);
  6. /**
  7. * 返回值结果
  8. * {"id": 1,"name": "df","age": 222}
  9. */

方法二:查询多条数据库中的记录 selectList


  1. /**
  2. * 方法二: 查询多条数据库中的记录
  3. * List<T> selectList(@Param("ew") Wrapper<T> queryWrapper);
  4. * ---参数为Wrapper可以为空说明没有条件的查询
  5. */
  6. List<User> users1 = userMapper.selectList(null);
  7. /**
  8. * 运行结果集
  9. * [{"id": 1,"name": "df","age": 222},{"id": 2,"name": "wang","age": 22}]
  10. */

方法三:查询多条数据库中的记录---条件查询 selectList(wrapper)


  1. /**
  2. * 方法三:查询多条数据库中的记录---条件查询
  3. * List<T> selectList(@Param("ew") Wrapper<T> queryWrapper);
  4. */
  5. //首先构造QueryWrapper来进行条件的添加
  6. QueryWrapper wrapper = new QueryWrapper();
  7. wrapper.eq("id",1);//相当于where id=1
  8. List<User> list = userMapper.selectList(wrapper);
  9. /**
  10. * 返回值结果
  11. * {"id": 1,"name": "df","age": 222}
  12. */

福利赠送:条件构造器QueryWrapper常用方法


  1. /**
  2. *附加条件构造器QueryWrapper常用方法 ---这几个肯定够用了
  3. */
  4. wrapper.eq("数据库字段名", "条件值"); //相当于where条件
  5. wrapper.between("数据库字段名", "区间一", "区间二");//相当于范围内使用的between
  6. wrapper.like("数据库字段名", "模糊查询的字符"); //模糊查询like
  7. wrapper.groupBy("数据库字段名"); //相当于group by分组
  8. wrapper.in("数据库字段名", "包括的值,分割"); //相当于in
  9. wrapper.orderByAsc("数据库字段名"); //升序
  10. wrapper.orderByDesc("数据库字段名");//降序
  11. wrapper.ge("数据库字段名", "要比较的值"); //大于等于
  12. wrapper.le("数据库字段名", "要比较的值"); //小于等于

方法四:根据主键的id集合进行多条数据的查询 selectBatchIds


  1. /**
  2. * 方法四: 根据主键的id集合进行多条数据的查询
  3. * List<T> selectBatchIds(@Param("coll") Collection<? extends Serializable> idList);
  4. * --条件为集合
  5. */
  6. List list1 = Arrays.asList(1,2);
  7. List<User> list2 = userMapper.selectBatchIds(list1);
  8. /**
  9. * 运行结果集
  10. * [{"id": 1,"name": "df","age": 222},{"id": 2,"name": "wang","age": 22}]
  11. */

方法五:分页查询 selectPage


  1. /**
  2. * 方法五: 分页查询
  3. * IPage<T> selectPage(IPage<T> page, @Param("ew") Wrapper<T> queryWrapper);
  4. * ---参数为分页的数据+条件构造器
  5. */
  6. IPage<User> page = new Page<>(1,2);//参数一:当前页,参数二:每页记录数
  7. //这里想加分页条件的可以如方法三自己构造条件构造器
  8. IPage<User> userIPage = userMapper.selectPage(page, null);
  9. /**
  10. * 运行结果集
  11. * {"records":[{"id": 1,"name": "df","age": 222},{"id": 2,"name": "wang","age": 22}],
  12. * "total": 0,"size": 2,"current": 1,"searchCount": true,"pages": 0 }
  13. */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值