springboot整合mybatis-plus超級詳細
- 一、環境
- 二、springboot整合myBatisPlus
- 2.1新建
- 2.2 添加Mybatis-plus和mysql依賴
- 2.3 修改配置文件
- 2.4 新建包和文件
- 2.5 新建表
- 2.6 創建實體類
- 2.7 創建Mapper接口
- 2.8 創建Service接口
- 2.9 創建Service實現類
- 2.10 增刪改查
MyBatis-Plus,如其名所示,是MyBatis的一個功能增強工具。它旨在對MyBatis的核心功能進行拓展,而不會對其原有結構或行為做出任何修改。
一、環境
系統:windows 11
軟件:IntelliJ IDEA 2022.2.3
maven:maven3.8.6
JDK:1.8.0_351
springboot:2.5.3
myBatisPlus:3.3.1
二、springboot整合myBatisPlus
2.1新建
設置項目名、groupID、artfactid、version
設置選擇springboot版本和基礎依賴
2.2 添加Mybatis-plus和mysql依賴
在pom.xml中引入依賴
<!--Mybatis-plus的依賴-->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.3.1</version>
</dependency><!--mysql的依賴-->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.31</version>
</dependency>
2.3 修改配置文件
application.properties改為application.yml
# 端口號8080
server:port: 8080# 數據庫名:mysql,用戶名root,密碼123456
spring:datasource:username: rootpassword: 123456url: jdbc:mysql://192.168.17.128:3306/test?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=truedriver-class-name: com.mysql.cj.jdbc.Driver# mybatis-plus配置
mybatis-plus:# xml文件位置mapper-locations: classpath:mapper/*.xml
2.4 新建包和文件
/src/main/java/com.gsj.springbootmp下新建包
service,controller,mapper,entity
/src/main/resouces下設置mapping文件夾
如圖:
2.5 新建表
新建數據庫測試表:
CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(20) NOT NULL DEFAULT '' COMMENT '名稱',`age` int(11) NOT NULL COMMENT '年齡',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB COMMENT='用戶表';
2.6 創建實體類
com/gsj/springbootmp/entity/User.java
package com.gsj.springbootmp.entity;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@NoArgsConstructor
@TableName("user")
public class User {@TableId(type = IdType.AUTO)private Integer id;@TableField("name")private String name;@TableField("age")private Integer age;}
2.7 創建Mapper接口
com/gsj/springbootmp/mapper/UserMapper.java
package com.gsj.springbootmp.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gsj.springbootmp.entity.User;
import org.apache.ibatis.annotations.Mapper;@Mapper
public interface UserMapper extends BaseMapper<User> {}
2.8 創建Service接口
com/gsj/springbootmp/service/UserService.java
package com.gsj.springbootmp.service;import com.baomidou.mybatisplus.extension.service.IService;
import com.gsj.springbootmp.entity.User;public interface UserService extends IService<User> {
}
2.9 創建Service實現類
com/gsj/springbootmp/service/impl/UserServiceImpl.java
package com.gsj.springbootmp.service.impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gsj.springbootmp.entity.User;
import com.gsj.springbootmp.mapper.UserMapper;
import com.gsj.springbootmp.service.UserService;
import org.springframework.stereotype.Service;@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}
2.10 增刪改查
com/gsj/springbootmp/controller/UserController.java
package com.gsj.springbootmp.controller;import com.gsj.springbootmp.entity.User;
import com.gsj.springbootmp.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;@RestController
@RequestMapping("user")
public class UserController {@Autowiredprivate UserService userService;@RequestMapping("list")public List<User> list(){return userService.list();}@RequestMapping("getUser/{id}")public User getUser(@PathVariable String id){return userService.getById(id);}/*** 插入學生信息* @param User*/@RequestMapping("/insert")public void insertInfo(User User){User info=new User();info.setName(User.getName());info.setAge(User.getAge());userService.save(info);}/*** 根據id更新學生表信息* @param User*/@RequestMapping("/update")public void updateById(User User){User info=new User();info.setId(User.getId());info.setName(User.getName());info.setAge(User.getAge());userService.updateById(info);}/*** 根據id刪除學生信息* @param id*/@RequestMapping("/delete")public void deleteById(String id){userService.removeById(id);}
}
我們可通過啟動應用程序進行測試,以驗證其能否順利運作并準確從數據庫提取數據。若一切正常,則表明已成功運用Spring Boot與MyBatis-Plus進行了有效集成。