快速开始

创建时间:2025-11-12 23:25
长度:2065
浏览:0
评论:0

MyBatis-Plus 的三层架构

1. Mapper 层(DAO 层) - 继承 BaseMapper

   作用:直接与数据库交互,提供基础的 CRUD 操作。

2. Service 接口层 - 继承 IService

   作用:定义业务逻辑接口,提供更高层次的封装。

3. Service 实现层 - 继承 ServiceImpl

   作用:实现业务逻辑,调用 Mapper 层完成数据库操作。


Controller

  ↓ 调用

Service (UserService)

  ↓ 实现

ServiceImpl (UserServiceImpl)

  ↓ 继承 ServiceImpl<UserDao, User>

  ↓ 调用

Mapper/DAO (UserDao)

  ↓ 继承 BaseMapper<User>

  ↓ 操作

Database


添加信赖

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
    <version>3.5.14</version>
</dependency>

注意:一般使用了MybatisPlus 之后就不要再导入Mybatis了,尽量避免它俩同时存在, 有可能出现一些版本差异的问题


1. 创建表

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user`
(
    id BIGINT NOT NULL COMMENT '主键ID',
    name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
    age INT NULL DEFAULT NULL COMMENT '年龄',
    email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
    PRIMARY KEY (id)
);


   1.1 生成数据

DELETE FROM `user`;

INSERT INTO `user` (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');


2, 创建数据表对应的java类

   放在用于存放的(entity、dao、model)的目录下

   User.java

package org.huangcy.mybatisplusdemo.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

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


3. 创建mapper类

   UserMapper.java

   继续了BaseMapper类之后,几乎常见的CURD都有了,不需要我写这些常见的sql了;如果有特殊的需求,我们就可以写在UserMapper类里面,这时候就和普通的Mybatis一样了

   记得这里要写spring 注解@resource

package org.huangcy.mybatisplusdemo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import jakarta.annotation.Resource;
import org.huangcy.mybatisplusdemo.entity.User;

@Resource
public interface UserMapper extends BaseMapper<User> {
}


4. 配置mapper的位置目录

在项目的启动文件处添加开启扫描mapper目录的配置

@MapperScan(basePackages = "org.huangcy.mybatisplusdemo.mapper")


编写一个测试类


@Test
void testGetUserAll() {
    System.out.println(userMapper.selectList(null));
}


评论(共0条)