Mybatis-Plus的初步理解详细案例

对于目前快速开发的大环境所致,如何使开发员专注于核心功能设计,减少其它的配置等时间的占用,mybatis_plus凭借它的mapper文件的自动映射功能,而大大减少了程序员去配置编写mapper配置文件的时间,进而大大提高了开发的效率;mybatis_plus也因此成为我们广大程序员所必须接触并且学习的框架之一。本篇文章将会围绕mybatis-plus的基本功能并结合案例去进行详细的介绍。

首先先完成一个基本的案例;

创建一个名为student 表;

创建完成之后。大家可以随意添加一行数据,方便后边进行测试。然后新建一个springboot项目,加入所需要的依赖,mybatis-plus的依赖如下:

<dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.2</version>
        </dependency>

其它依赖,加上 我们连接数据库所需要的基础依赖就可以;

添加完依赖之后,创建我们实体类 Student; 博主在这里推荐大家使用lombook神器,使用之后不需要我们去写set get 方法了;lombook的依赖如下所示:

<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

实体类代码块如下所示:

因为mybatis-plus是默认开启驼峰自动映射的,因此,实体类studentName会自动去查找我们的student_name;想看详细代码,官网都有源码;

package com.example.demo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

@Data
public class Student {
    private  Long id;
    private  String studentName;
    private  int studentAge;
}

这里大家可以看到使用了lombook之后的代码简介程度,增加了代码的可读性;

写完实体类之后,我们就可以编写我们的mapper层,创建一个StudentMapper的接口,让它去继承mybatis-plus封装好的数据库动态映射类 BaseMapper 代码块如下所示;

package com.example.demo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.entity.Store;

public interface StoreMapper extends BaseMapper<Store> {
}

这里大家只需要再BaseMapper的后边加上我们实体类的泛型就可以直接映射到我们的实体类Student;

不需要再我们的mapper.XML文件上边再进行mapper映射了,功能很强大;当然mybatis-plus默认是直接映射数据库表格,是跟实体类的名字相同的表,如果我们的表名跟我们的实体类表名不相同;我们就需要进行手动映射数据库了;我们只需要再实体类的上边加上注解TableName,

@TableName("表名")

然后我们需要再我们的启动类上边添加mapperscan注解,让我们的启动类能够找到我们的mapper文件的位置;

package com.example.demo;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.example.demo.mapper")
public class DemoApplication {

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

}

之后我们就可以写我们的测试类,跟方法了;

package com.example.demo;
import com.example.demo.entity.Student;
import com.example.demo.mapper.StudentMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
@SpringBootTest
class DemoApplicationTests {
@Autowired
private StudentMapper studentMapper;
    @Test
    public void testSelect2() {
        System.out.println(("----- selectAll method test ------"));
        List<Student> userList = studentMapper.selectList(null);
        userList.forEach(System.out::println);}
}

这个方法是查询我们的数据,queryWrapper是条件构造器,我们填写参数为null,就表示没有查询的附加条件,也就是查询所有的数据;

然后,我们就可以启动我们的测试方法了;运行结果如下;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

灰灰的996

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值