第一步:創建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/