MyBatis Plus 简单示例

注意:本教程使用的数据库脚本、数据模型和环境信息请参考 “MyBatis Plus环境准备” 章节,点击下载示例源码

前面章节已经对 MyBatis Plus 有一个简单的认识了,并且已经将 MyBatis Plus 学习环境搭建完成。

本章示例将基于“MyBatis Plus 项目初始化”章节创建的项目为基础进行开发,一个 MyBatis Plus 项目开发基本步骤如下:

(1)使用 Spring Boot 创建一个项目,已做过了

(2)创建一个包用来存放 mapper 文件

(3)在 Spring Boot 主类上面使用 @MapperScan 注解扫描我们自定义的 mapper

(4)自定义自己的 mapper,该 mapper 将继承 com.baomidou.mybatisplus.core.mapper.BaseMapper

(5)在我们的服务中使用 @Autowired 注解自动注入自定义的 mapper

示例代码

(1)自定义 SimpleMapper 接口,该接口将继承 BaseMapper。代码如下:

package com.hxstrive.mybatis_plus.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hxstrive.mybatis_plus.model.UserBean;

public interface SimpleMapper extends BaseMapper<UserBean> {

}

你可以看到,上面代码中没有自定义任何自己的方法,所有方法均从 BaseMapper 父接口继承而来。

(2)在 MybatisPlusLearnApplication.java 类上使用 @MapperScan 注解配置扫描我们自定义的 mapper。代码如下:

package com.hxstrive.mybatis_plus;

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

@SpringBootApplication
@MapperScan("com.hxstrive.mybatis_plus.mapper")
public class MybatisPlusLearnApplication {

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

}

上面代码中,使用 @MapperScan 注解扫描 com.hxstrive.mybatis_plus.mapper 包下面的所有 mapper。

(3)在 Spring Boot 中,我们可以使用单元测试来测试刚刚创建 mapper 功能,代码如下:

package com.hxstrive.mybatis_plus;

import com.hxstrive.mybatis_plus.mapper.SimpleMapper;
import com.hxstrive.mybatis_plus.model.UserBean;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.Date;

@RunWith(SpringRunner.class)
@SpringBootTest
class SimpleTest {

    @Autowired
    private SimpleMapper simpleMapper;

    @Test
    void contextLoads() {
        System.out.println("插入用户:");
        UserBean user = new UserBean();
        user.setUserId(9999);
        user.setName("张三");
        user.setAge(28);
        user.setSex("男");
        if( simpleMapper.insert(user) > 0) {
            System.out.println("插入成功");
        }

        System.out.println("\n\n查询用户:");
        UserBean result = simpleMapper.selectById(user.getUserId());
        System.out.println(result);

        System.out.println("\n\n修改用户:");
        result.setName("李四");
        result.setAge(32);
        result.setSex("女");
        result.setBorthday(new Date());
        if(simpleMapper.updateById(result) > 0) {
            System.out.println("修改成功");
            System.out.println(simpleMapper.selectById(user.getUserId()));
        }

        System.out.println("\n\n删除用户:");
        if(simpleMapper.deleteById(user.getUserId()) > 0) {
            System.out.println("删除成功");
        }
    }

}

上面代码中,使用 @Autowired 注解自动注入刚刚创建的 mapper,如下:

@Autowired
private SimpleMapper simpleMapper;

然后,在 contextLoads() 单元测试方法中,测试 mapper 的 insert(插入)、selectById(根据ID查找)、updateById(根据ID更新)和 deleteById(根据ID删除)等简单的 CRUD 操作。

关于 MyBatis Plus 更复杂的用法,将在后续章节中娓娓道来,谢谢支持!!


说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号