一、Mybatis-Plus 概述
Mybatis-Plus 支持非常多的数据库,常规的有 MySQL,H2,SQLite,SQLServer 等等。
二、本地 H2 数据的配置
2.1 下载和配置 H2 数据库
H2数据库官网:https://www.h2database.com/html/main.html
在本地用户目录底下新建一个文件 test.mv.d,test表示数据库名称,你可以自定义名称。
在本地H2 目录下找到 h2\bin\h2.bat文件,这个是 windows 控制台的启动脚本,双击运行,会启动 H2的 Web 控制台。
点击测试连接,如果测试成功,记下驱动类、JDBC URL、用户名和密码。
2.2 IDEA 连接 H2 数据库
先在 pom.xml中引入依赖
<dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><version>2.1.210</version><scope>runtime</scope></dependency>
在 IDEA 的数据库选项卡中新建「数据源」,选择 H2 数据源。
2.3 新建表和插入数据
2.3.1 新建表
右键数据库点击「跳转到查询控制台」,输入创建表的命令:
create table user_test(id int primary key not null,name varchar(30) null,age int null,email varchar(50) null)
执行完毕,输入一下显示表的命令:
show tables
2.3.2 插入数据
输入插入的 sql 语句:
insert into user_test(id, name, age, email)values(1, 'Jone', 18, 'yunhu1@gmail.com'),(2, 'Jack', 20, 'yunhu2@gmail.com'),(3, 'Tom', 28, 'yunhu3@gmail.com'),(4, 'Sandy', 21, 'yunhu4@gmail.com'),(5, 'Billie', 24, 'yunhu5@gmail.com');
插入执行完毕后,执行查看表的命令:
select * from user_test
三、Mybatis-Plus 的配置
3.1 项目结构
├─main│ ├─java│ │ └─com│ │ └─example│ │ └─mybatisplusdemo│ │ │ MybatisplusdemoApplication.java│ │ ││ │ ├─controller│ │ │ UserController.java│ │ ││ │ ├─entity│ │ │ User.java│ │ ││ │ └─mapper│ │ UserMapper.java
3.2 引入依赖
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.1</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
3.3 在 application.yml 配置文件中添加 H2 的相关配置
server:port: 8080 # 端口号spring:datasource:driver-class-name: org.h2.Driver # 驱动类url: jdbc:h2:tcp://localhost/~/test # JDBC URLusername: sa # 用户名password: # 密码
3.4 添加 user.java 数据实体类
在包目录下新建 entity 目录,用来存放数据实体类,然后在 entity 目录下新建 User.java。
package com.example.mybatisplusdemo.entity;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableName;import lombok.Data;/*** User 数据实体类* @author 云胡* @data 2022-04-18*/@Data@TableName("user_test") //将对象和表进行关联public class User {@TableId("id")private Long id;@TableField("name")private String name;@TableField("age")private Integer age;@TableField("email")private String email;}
@Data是 lombok.jar包下的注解,之后就不需要写出 set 和 get 方法。
@TableName实现实体类和数据库中的表两者之间的映射。
@TableId是主键字段的注解。
3.5 编写 UserMapper.java 接口
在包目录底下新建一个 mapper 目录,用来存放数据访问类,然后新建 UserMapper.java 文件。
package com.example.mybatisplusdemo.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.example.mybatisplusdemo.entity.User;import org.apache.ibatis.annotations.Mapper;/*** UserMapper 数据访问接口* @author 云胡* @data 2022-04-18*/@Mapperpublic interface UserMapper extends BaseMapper<User> {}
@Mapper用在接口类上,后续才可以被 controller类使用。
3.6 编写 UserController.java 类
在包目录底下新建一个controller 目录,用来存放控制类,然后新建一个 UserController.java文件。
package com.example.mybatisplusdemo.controller;import com.example.mybatisplusdemo.entity.User;import com.example.mybatisplusdemo.mapper.UserMapper;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;import java.util.List;/*** User 控制类* @author 云胡* @data 2022-04-18*/@RestControllerpublic class UserController {@Autowiredprivate UserMapper userMapper;@GetMapping("/showUser")public List<User> showUser(){List<User> list = userMapper.selectList(null);System.out.println(list);return list;}}
3.7 结果
运行程序后,打开浏览器输入链接: localhost:8080/showUser可以看到控制台打印了以下数据:
[User(id=1, name=Jone, age=18, email=yunhu1@gmail.com), User(id=2, name=Jack, age=20, email=yunhu2@gmail.com), User(id=3, name=Tom, age=28, email=yunhu3@gmail.com), User(id=4, name=Sandy, age=21, email=yunhu4@gmail.com), User(id=5, name=Billie, age=24, email=yunhu5@gmail.com)]
网页上显示了:
我这边装了 Web 前端助手 FeHelper,所以看到的表的数据被自动格式化了。

