第一步:创建SpringBoot项目
可以使用 Spring Initializer 快速初始化一个 Spring Boot 工程
引入web,mysql等依赖,generate之后直接解压引入IDEA即可
第二步:添加MybatisPlus等依赖,直接在pom.xml文件中加入以下依赖即可
```java
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.0</version>
</dependency>
第三步:新建数据库,数据表
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
第四步:基本文件结构如下:简单分为以下三个简单结构:controller(逻辑层),domain(实体类),mappper(dao层,数据库操作)
第五步:编写各层代码
domain层:
//User.java //实体类,数据库User表的映射
package cn.ickck.mybatis_plus.domain;
/**
* @ClassName User
* @Description TODO
* @Author ck
* @Date 2020/1/8 11:26
* @Version 1.0
**/
public class User {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
//JsonDate.java 字符串转JSON,方便前后端交互
package cn.ickck.mybatis_plus.domain;
import java.io.Serializable;
/**
* @ClassName JsonData
* @Description TODO
* @Author ck
* @Date 2019/12/28 16:02
* @Version 1.0
**/
public class JsonData implements Serializable {
private static final long serialVersionUID = 1L;
private Integer code; // 状态码 0 表示成功,1表示处理中,-1表示失败
private Object data; // 数据
private String msg;// 描述
public JsonData() {
}
public JsonData(Integer code, Object data, String msg) {
this.code = code;
this.data = data;
this.msg = msg;
}
// 成功,传入数据
public static JsonData buildSuccess() {
return new JsonData(0, null, null);
}
// 成功,传入数据
public static JsonData buildSuccess(Object data) {
return new JsonData(0, data, null);
}
// 失败,传入描述信息
public static JsonData buildError(String msg) {
return new JsonData(-1, null, msg);
}
// 失败,传入描述信息,状态码
public static JsonData buildError(String msg, Integer code) {
return new JsonData(code, null, msg);
}
// 成功,传入数据,及描述信息
public static JsonData buildSuccess(Object data, String msg) {
return new JsonData(0, data, msg);
}
// 成功,传入数据,及状态码
public static JsonData buildSuccess(Object data, int code) {
return new JsonData(code, data, null);
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
@Override
public String toString() {
return "JsonData [code=" + code + ", data=" + data + ", msg=" + msg
+ "]";
}
}
//mapper层
//MybatisPlus相比mybatis最大的优势就在于mapper层,不用自己写sql,实在是太舒服了
//UserMappe.interface
package cn.ickck.mybatis_plus.mapper;
import cn.ickck.mybatis_plus.domain.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @ClassName UserMapper
* @Description TODO
* @Author ck
* @Date 2020/1/8 11:27
* @Version 1.0
**/
public interface UserMapper extends BaseMapper<User> { //只需要继承MybatisPlus中自带BaseMappe类,里面有各种已经实现的方法,只需要调用就行,建议学习一下源码
}
//controller层编写
//简单测试一下使用
package cn.ickck.mybatis_plus.controller;
import cn.ickck.mybatis_plus.domain.JsonData;
import cn.ickck.mybatis_plus.domain.User;
import cn.ickck.mybatis_plus.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @ClassName UserController
* @Description TODO
* @Author ck
* @Date 2020/1/8 11:47
* @Version 1.0
**/
@RestController
@RequestMapping("/pub")
public class UserController {
@Autowired
public UserMapper userMapper;
@RequestMapping("/findById")
JsonData findAllUser(int id) //通过id查询数据
{
return JsonData.buildSuccess(userMapper.selectById(id));
}
@PostMapping("/insert") //插入数据
void Insert(@RequestBody User user)
{
userMapper.insert(user);
}
@PostMapping("/update") //更新数据
void update(@RequestBody User user)
{
userMapper.updateById(user);
}
@RequestMapping("/delete") //根据id删除数据
void delete(int id)
{
userMapper.deleteById(id);
}
@RequestMapping("/ListAll") //查询所有数据
JsonData ListALl()
{
return JsonData.buildSuccess(userMapper.selectList(null));
}
}
第六步:基本配置的编写
1.在启动类中加入mapper文件的扫描
package cn.ickck.mybatis_plus;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("cn.ickck.mybatis_plus.mapper") //mapper文件的路径,springboot项目启动时会自动扫描这个包
public class MybatisPlusApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisPlusApplication.class, args);
}
}
2.数据库配置 application.properties里进行修改
server.port=8082 //启动时候的端口号
#==============================数据库相关配置========================================
spring.datasource.driver-class-name =com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false //ip:端口号:数据库名
spring.datasource.username =root //数据库用户名
spring.datasource.password =123456 //数据库密码
最近做毕业设计学习了一下MybatisPlus,发现的确十分好用,不过还需要深入学习一下其它复杂使用
下面为PostMan做的测试截图
1.查询所有
2.根据id查询
3.修改数据
4.有点懒,有些接口测试图片就不放上面了,可自行测试
注:联系方式:qq:839567748(欢迎大妹子一起交流学习)
GitHub项目地址:https://github.com/handsomeboyck/MyBatisPlus-
MyBatisPlus官网地址:https://mp.baomidou.com/guide/