今天开始入门Mybatis-Plus,它是Mybatis的增强工具,在Mybatis的基础上做了增强,但是没有改变Mybatis,所以之前用Mybatis构建的代码不需要重写,只需要将mybatis框架换成Mybatis-Plus就能正常运行。(官方文档)
接下来就开始使用Mybatis-Plus了,首先就是建库建表了,数据库的操作就不多说了,直接贴代码吧,数据库引用的是官方文档的(偷个懒)
DROP TABLE IF EXISTS user;
CREATE TABLE user
(
id BIGINT(20) NOT NULL COMMENT '主键ID',
name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
age INT(11) NULL DEFAULT NULL COMMENT '年龄',
email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (id)
);
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');
然后,导入jar包
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1</version>
</dependency>
在 Spring Boot 启动类中添加 @MapperScan 注解,扫描 Mapper 文件夹,如果需要扫描多个mapper,使用{},用逗号隔开
@SpringBootApplication//引导类
@MapperScan("com.dyh.peachsys.mapper")//扫描mapper文件
//@MapperScan({"mapper1,mapper2..."})//扫描多个mapper
public class PeachsysApplication {
public static void main(String[] args) {
SpringApplication.run(PeachsysApplication.class, args);
}
}
创建user表格的实体类,并添加常用注解,关于注解的使用参数请参考官方文档,这里不详细说明
@Data
@ApiModel(value = "用户表")
@TableName(value = "user")//表格注解,指定数据库表格
public class User {
@ApiModelProperty(value = "主键id")
@TableId(value = "id", type = IdType.AUTO)//主键注解,指定主键
private Integer id;
@ApiModelProperty(value = "姓名")
@TableField(value = "name")//字段注解,指定字段
private String name;
@ApiModelProperty(value = "年龄")
@TableField(value = "age")
private Integer age;
@ApiModelProperty(value = "邮箱")
@TableField(value = "email")
private String email;
}
构建mapper数据操作层接口,并继承BaseMapper类,指定实体类
public interface UserMapper extends BaseMapper<User> {
}
构建service服务层接口和实现
public interface IUserService extends IService<User> {
}
@Service
public class UserService extends ServiceImpl<UserMapper, User> implements IUserService {
}
构建控制层
@Api(tags = "用户表")
@RestController
@RequestMapping("/user")
public class UserController extends BaseController {//BaseController 是我自己封装的方法,可以在git上看到具体实现
@Autowired
private IUserService userService;
@ApiOperation(value = "获取用户信息")
@GetMapping("/get")
public Res getUser() {
List<User> list = userService.list();//服务层内置方法
return success(list);
}
}
接下来开始测试,本来是打算使用单元测试的,但是那个我掌握的不是很熟练,恰巧之前写了swagger的使用,所以就用swagger来测试接口。在本地运行项目后,在浏览器中输入swagger-ui的地址:http://localhost:8080/swagger-ui.html,选择我们需要测试的接口,点击"Try it out",进入测试页面
swagger会自动根据请求类型去请求接口,获取返回值
关于Mybatis-Plus的简单实用就介绍到这儿,有兴趣的小伙伴可以看看我的源码
git地址:https://github.com/peach-tec/peachsys