一篇文章带你入门MybatisPlus!

为什么要学习Mybatisplus

一、MybatisPlus优势
节省大量的工作时间,所有的CRUD代码都可以自动化完成!

二、MybatisPlus简介
是Mybatis的升级,只在原有的基础上进行增加功能而不做任何的改变

三、MybatisPlus的特性
1、无侵入:只做增强不做改变,引入它不会对现有的工程产生影响,如丝般顺滑
2、损耗小:启动即会自动注入基本的CRUD,性能基本无损耗,直接面向对象操作
3、强大的CRUD操作:内置通用Mapper、通用Service,仅仅通过少量配置即可实现表单大部分CRUD操作,更有强大的条件构造器,满足各类使用需求
4、支持Lambda形式调用:通过Lambda表达式,方便的编写各类查询条件,无需担心字段写错
5、支持主键自动生成:支持4种主键策略(内含分布式唯一ID生成器-Sequence),可自由配置,完美解决主键问题
6、支持ActiveRecord模式:支持ActiveRecord形式调用,实体类只需要继承Model类即可进行强大的CRUD操作
7、支持自定义全局通用操作:支持全局通用方法注入(write once,use anywhere)
8、内置代码生成器;采用代码或者Maven插件可以快速生成Mapper、Model、Service、Controller层代码,支持模板引擎,更有超多自定义的配置
9、内置分页插件:基于Mybatis物理分页,开发者无需关心具体的操作,配置好插件之后,写分页等同于普通List查询
10、分页插件支持多种数据库:支持MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer等多种数据库
11、内置性能分析插件:可输出SQL语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询
12、内置全局拦截插件:提供全表delete、update操作智能分析阻断,也可以自定义拦截规则,预防误操作

快速入门MybatisPlus

准备工作

创建数据库和用户表

一、导入依赖

<!--数据库连接驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
<!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
<!--mybatisplus依赖,是自己开发的,并不是官方的-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.3.1</version>
        </dependency>


二、配置application.properties配置文件
1、配置链接数据源

#数据库连接配置
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/mybatisplus?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=UTC
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

三、区别于传统的方式,需要编写Mapper层、Service层,配置Mapper.xml等配置文件,现在只需要编写实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;

}

四、编写Mapper接口

//以后省略了写Mapper.xml配置文件,直接继承BaseMapper接口,传递的泛型就是方法中传递的参数
@Repository //代表持久层
public interface UserMapper extends BaseMapper<User> {
//到此,所有的CRUD都已经编写完成了!!!!!!

}

五、在主启动类上添加Mapper文件的扫描注解,扫描mapper包下的所有接口

@MapperScan("com.guohui.mapper") //扫描mapper文件夹,编写的mapper接口才能生效
@SpringBootApplication
public class MybatisplusApplication {

    public static void main(String[] args) {
        SpringApplication.run(MybatisplusApplication.class, args);
    }

}

六、测试类测试

@SpringBootTest
class MybatisplusApplicationTests {
   //将UserMapper自动装配到测试类中,因为继承了父类BaseMapper,所有的方法都来自父类
    @Autowired
    private UserMapper userMapper;

    @Test
    void contextLoads() {
        //查询全部用户,这里需要传递一个Wrapper(条件构造器),后面讲解
        List<User> users = userMapper.selectList(null);
        users.forEach(System.out::println);
    }

}

七、控制台打印结果

至此,你已经掌握了对MybatisPlus的入门级的认识,后续会继续发布关于其深入的介绍,敬请期待!欢迎交流和指正!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Be explorer

若认可笔者文章,手头富裕望支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值