mybatis plus 查询数量_Mybatis 增强工具包 Mybatis-Plus

697d085261c003d0b8eda3f12559bf83.png

MyBatis 增强工具包,简化 CRUD 操作。

启动加载 XML 配置时注入单表 SQL 操作 ,为简化开发工作、提高生产率而生。

Maven 坐标

http://search.maven.org/#search%7Cga%7C1%7Cmybatis-plus

 com.baomidou mybatis-plus maven 官方最新版本号为准

一、与其他 Mybatis 工具包区别

  • 1、优势一、 Mybatis-plus 启动注入非拦截实现、性能更优。
  • 2、优势二、多种 ID 选择,类型 ID_WORKER , UUID 全局唯一、支持实现分库。
  • 3、优势三、完全继承原生易理解、扩展使用,支持自定义表、字段、ID动态注解。
  • 其他、等待您去发现!。。。。
cf3e328a5f8e8a6b30e27b2961f108b5.png

集成后自动拥有如下 CRUD 方法:

3ef7a64b1eb276bd6ce59a1f89fde1a4.png

二、功能

  • 1、单表 CURD (简单 + 批量)操作,自动完成(支持 like 比较等查询)。
  • 2、分页插件,Count 查询 自动 或 自定义 SQL 查询。
  • 3、Spring 根据不同环境加载不同配置支持(支持 typeAliasesPackage 通配符扫描)。

【自动生成 Entity Mapper Service 文件】

三、使用

快速开始

我们将通过一个简单的 Demo 来阐述 MyBatis-Plus 的强大功能,在此之前,我们假设您已经:

  • 拥有 Java 开发环境以及相应 IDE
  • 熟悉 Spring Boot
  • 熟悉 Maven

现有一张 User 表,其表结构如下:

idnameageemail1Jone18test1@baomidou.com2Jack20test2@baomidou.com3Tom28test3@baomidou.com4Sandy21test4@baomidou.com5Billie24test5@baomidou.com

其对应的数据库 Schema 脚本如下:

DROP TABLE IF EXISTS user;CREATE TABLE user(id BIGINT(20) NOT NULL COMMENT '主键ID',name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',age INT(11) NULL DEFAULT NULL COMMENT '年龄',email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',PRIMARY KEY (id));

其对应的数据库 Data 脚本如下:

DELETE FROM user;INSERT INTO user (id, name, age, email) VALUES(1, 'Jone', 18, 'test1@baomidou.com'),(2, 'Jack', 20, 'test2@baomidou.com'),(3, 'Tom', 28, 'test3@baomidou.com'),(4, 'Sandy', 21, 'test4@baomidou.com'),(5, 'Billie', 24, 'test5@baomidou.com');

Question

如果从零开始用 MyBatis-Plus 来实现该表的增删改查我们需要做什么呢?

#

初始化工程

创建一个空的 Spring Boot 工程(工程将以 H2 作为默认数据库进行演示)

TIP

可以使用 Spring Initializr 快速初始化一个 Spring Boot 工程

#

添加依赖

引入 Spring Boot Starter 父工程:

org.springframework.boot spring-boot-starter-parent 2.0.3.RELEASE

引入 spring-boot-starter、spring-boot-starter-test、mybatis-plus-boot-starter、lombok、h2 依赖:

org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-test testorg.projectlombok lombok truecom.baomidou mybatis-plus-boot-starter 3.1.0com.h2database h2 runtime

#

配置

在 application.yml 配置文件中添加 H2 数据库的相关配置:

# DataSource Configspring: datasource: driver-class-name: org.h2.Driver schema: classpath:db/schema-h2.sql data: classpath:db/data-h2.sql url: jdbc:h2:mem:test username: root password: test

在 Spring Boot 启动类中添加 @MapperScan 注解,扫描 Mapper 文件夹:

@SpringBootApplication@MapperScan("com.baomidou.mybatisplus.samples.quickstart.mapper")public class Application { public static void main(String[] args) { SpringApplication.run(QuickStartApplication.class, args); }}

#

编码

编写实体类 User.java(此处使用了 Lombok 简化代码)

@Datapublic class User { private Long id; private String name; private Integer age; private String email;}

编写Mapper类 UserMapper.java

public interface UserMapper extends BaseMapper {}

#

开始使用

添加测试类,进行功能测试:

@RunWith(SpringRunner.class)@SpringBootTestpublic class SampleTest { @Autowired private UserMapper userMapper; @Test public void testSelect() { System.out.println(("----- selectAll method test ------")); List userList = userMapper.selectList(null); Assert.assertEquals(5, userList.size()); userList.forEach(System.out::println); }}

TIP

UserMapper 中的 selectList() 方法的参数为 MP 内置的条件封装器 Wrapper,所以不填写就是无任何条件

控制台输出:

User(id=1, name=Jone, age=18, email=test1@baomidou.com)User(id=2, name=Jack, age=20, email=test2@baomidou.com)User(id=3, name=Tom, age=28, email=test3@baomidou.com)User(id=4, name=Sandy, age=21, email=test4@baomidou.com)User(id=5, name=Billie, age=24, email=test5@baomidou.com)

更多详情请参考官网:https://mp.baomidou.com/

喜欢点个关注,每天都有精彩好文推荐。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值