mybatisplus mysql demo
时间: 2025-01-14 17:13:35 浏览: 37
### 使用 MyBatis Plus 和 MySQL 的演示示例
#### 创建数据库表结构
为了展示 MyBatis-Plus 的强大功能,可以先创建一个名为 `users` 的 SQL 表并添加必要的字段[^1]。
```sql
CREATE TABLE users (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
age INT,
email VARCHAR(255)
);
```
此表格用于存储用户信息,包括用户的 ID、姓名、年龄以及电子邮件地址。
#### 配置 Maven 依赖项
在项目的 pom.xml 文件中加入 MyBatis-Plus 及其相关组件的依赖关系:
```xml
<dependencies>
<!-- MyBatis Plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
<!-- MySQL Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- JUnit Jupiter API and Engine for testing -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.7.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.7.0</version>
<scope>test</scope>
</dependency>
</dependencies>
```
这段配置引入了 MyBatis-Plus 和 MySQL 连接器作为主要开发工具,并集成了最新版本的 JUnit 测试框架来编写单元测试案例[^2]。
#### 编写实体类与 Mapper 接口
定义一个 Java 实体类代表上述创建的数据模型——User.java:
```java
package com.example.demo.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
@Data
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String name;
private Integer age;
private String email;
}
```
接着建立对应的 Mapper 接口继承 BaseMapper 基础接口实现 CRUD 操作 —— IUserMapper.java :
```java
package com.example.demo.mapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.entity.User;
@Mapper
public interface IUserMapper extends BaseMapper<User> {}
```
以上代码片段展示了如何利用 Lombok 库简化 getter/setter 方法书写过程;同时通过注解方式指定了主键自增策略[@Data][^3].
#### 单元测试验证数据访问层逻辑
最后,在 test 路径下新建 TestUserService 类来进行简单查询操作检验:
```java
package com.example.demo.service.impl;
import static org.assertj.core.api.Assertions.assertThat;
import java.util.List;
import javax.annotation.Resource;
import org.junit.jupiter.api.Test;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.demo.entity.User;
import com.example.demo.mapper.IUserMapper;
class UserServiceTest {
@Resource
private IService<User> userService;
@Test
void contextLoads() throws Exception {
List<User> userList = userService.list();
assertThat(userList).isNotNull().hasSize(5);
System.out.println("Result:");
for (var user : userList) {
System.out.println(user.toString());
}
}
}
```
运行该测试方法将会打印出如下结果[^4]:
```
Result:
User{id=1, name='Jone', age=18, email='[email protected]'}
User{id=2, name='Jack', age=20, email='test2@ba⚗📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐📐
阅读全文
相关推荐

















