MyBatis-Plus

4.1.1 MyBatis-Plus 简介

        MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

MyBatis-Plus 特性:

  • 官网说的特性太多了,挑了几个有特点的分享给大家。
  • 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑。
  • 损耗小:启动即会自动注入基本CURD,性能基本无损耗,直接面向对象操作,
  • 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需在担心字段写错
  • 支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer2005、SQLServer 等多种数据库。

4.1.2 Lombok 简介和安装

        Lombok 是一个 IDE 的插件,可以对编译器进行增强,使Java代码变得简洁、快速。

        IDEA 中安装 Lombok 插件:

        打开 idea —> File —> Setting —> Plugin —> Markplace(或 Browse Repositories) —> 输入 Lombok 回车进行搜索

未安装的话点击Install 进行插件的安装

        安装完成之后会提示你重启 IDEA 工具。

        基本用法:

        @Data 注解在类上,会为类的所有属性自动生成 setter/getter、equals、canEqual、hashCode、toString 方法,如为final属性,则不会为该属性生成setter方法。

4.1.3 快速上手

我们将通过一个简单的 Demo 来阐述 MyBatis-Plus 的强大功能,在此之前,需要我们准备好数据库及初始化好Spring Boot 项目。

1.关键依赖包:

<dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.1.1</version>
        </dependency>

Lombok 帮忙省略掉 Getter/Setter 方法

mybatis-plus-boot-starter,MyBatis Plus 的依赖包,引入MyBatis-Plus 之后请不要再次引入 MyBatis 以及 MyBatis-Spring,以避免因版本差异导致的问题

2.application.yml 添加相关配置

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql:///crm?useUnicode=true&characterEncoding=utf-8
    username: root
    password: liuyuhan
#配置日志
logging:
  level:
    root: warn
    com.bdqn.crm.mapper: trace
  pattern:
    console: '%p%m%n'

3.启动类

        在启动类中添加对 MApper 包扫描 @MapperScan,Spring Boot 启动的时候会自动加载包路径下的Mapper:

@SpringBootApplication
@MapperScan("com.bdqn.crm.mapper")
public class MybatiesXmlApplication {

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

}

4.编码:

        编写实体类:User.java

@Data
@TableName("sys_user")
public class User implements Serializable {
    @TableId(type = IdType.AUTO)
    @TableField("usr_id")
    private Long usrId;
    @TableField("usr_name")
    private String usrName;
    private String usrPassword;
    private Long usrRoleId;
    private Integer usrFlag;
  • @TableName 注解在类上,指定数据库表名(实体名与表名不一致时需要指定)
  • @TableId(type = IdType.AUTO) 注解在主键属性上,且指定主键生成策略为自动增长
  • @TableFieId注解在属性上,指定数据库字段名(不满足默认匹配规则时需要指定)。

编写 Mapper 接口:UserMapper.java

public interface UserMapper extends BaseMapper<User> {
}

5.测试:

编写junit测试类UserMapperTester.java

@SpringBootTest
public class UserMapperTester {
    @Resource
    private UserMapper userMapper;

    @Test
    public void testSelectById(){// 主键查询
        User user = userMapper.selectById(2L);
        System.out.println(user);
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值