MybatisPlus

本文介绍了MybatisPlus的概述、快速入门、CRUD操作、查询功能、Service封装及代码生成器的使用,包括添加、删除、更新、分页查询等,并提到了枚举类型的使用说明。
摘要由CSDN通过智能技术生成

MybatisPlus

SSH:Spring+Struts2+Hibernate

SSM: Spring+springmvc+mybatis

1. 概述

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

•官网:https://mybatis.plus/ 或 https://mp.baomidou.com/

依赖

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus</artifactId>
    <version>3.4.0</version>
</dependency>

2. 快速入门

SpringBoot 整合 MyBatis-Plus,并实现根据Id查询功能。

①数据库环境准备
②创建SpringBoot工程,引入MyBatis-Plus起步依赖
③编写DataSource相关配置
④编写mapper
⑤测试

2.1 数据库环境准备

2.2 创建SpringBoot工程,引入MyBatis-Plus起步依赖

 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
<!-- mysql  驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.26</version>
        </dependency>
        <!-- lombok  ,自动生成get,Set 方法-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!--mybatisplus起步依赖-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.0</version>
        </dependency>
    </dependencies>
1,在IDEA的插件中安装Lombok插件:settings-->plugins>搜索lombok然后安装重启IDEA
2,在依赖中引入lombok依赖:
 <!-- lombok  ,自动生成get,Set 方法-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
3,在实体中使用相关的注解:帮我们减化开发

2.3 编写DataSource相关配置

# datasource
spring:
  datasource:
    url: jdbc:mysql:///mp
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver

2.4 编码

编写mapper

/**
 * 使用mp定义Mapper,需要让Mapper接口继承 BaseMapper接口。
 */

public interface UserMapper extends BaseMapper<User> {
   
}

实体类

@TableName("tb_user") // 指定表名
@Data
public class User {
   
    private Long id;
    private String userName;
    private String password;
    private String name;
    private Integer age;
    private String email;

启动类增加 @MapperScan 注解

@MapperScan("com.ithe.mp.mapper")
@SpringBootApplication
public class MybatisPlusSpringbootApplication {
   
    public static void main(String[] args) {
   
        SpringApplication.run(MybatisPlusSpringbootApplication.class, args);
    }
}

2.5 测试

@SpringBootTest
@RunWith(SpringRunner.class)
class UserMapperTest {
   
    @Autowired
    private UserMapper userMapper;
    /**
     * 根据id查询
     */
    @Test
    public void testSelectById() {
   

        User user = userMapper.selectById(1L);
        System.out.println(user);

    }
}

3. CRUD

3.1 添加

3.1.1 方法
@Test
    public void testInsert() {
   
        User user = new User();
        //user.setId(6L);
        user.setUserName("itcast");
        user.setPassword("ithe");
        int count = userMapper.insert(user);
        System.out.println(count);
    }
3.1.2 说明1, 实体类上的注解 @TableField
1)  @TableField("user_name") 指定映射关系
实体类的属性名和数据库的字段名自动映射:
	 *  名称一样
	 *  数据库字段使用_分割,实体类属性名使用驼峰名称
   否则需要使用 @TableField("user_name") 指定映射关系
2)  忽略某个字段的查询和 插入
	  @TableField(exist = false) 
3)  设置id生成策略:AUTO 数据库自增
    @TableId(type = IdType.AUTO)

select * from tb_user

select id,user_name tb_user

update set user_name=? from tb_user where age=19

delete from tb_user wehre age>18

主键生成策略的介绍:
AUTO 数据库ID自增
INPUT 用户输入ID
ID_WORKER 全局唯一ID,Long类型的主键    雪花算法,推荐使用
ID_WORKER_STR 字符串全局唯一ID
UUID 全局唯一ID,UUID类型的主键 默认的
NONE 该类型为未设置主键类型

3.1.3 说明2, 配置
mybatis-plus:
  global-config:
    db-config:
      # 表名前缀
      table-prefix: tb_
      # id生成策略 数据库自增
      id-type: auto
  configuration:
    # 日志
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
3.1.5 具体使用如下
/**
 * 实体类的属性名和数据库的字段名自动映射:
 *  1. 名称一样
 *  2. 数据库字段使用_分割,实体类属性名使用驼峰名称
 */

@TableName("tb_user")
@Data
public class User {
   


    //设置id生成策略:AUTO 数据库自增
    @TableId(type = IdType.AUTO)
    private Long id;
    //@TableField("user_name")
    private String userName;

    private String password
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值