MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
mybatis-plus官网地址:https://baomidou.com/
目录
一、初始化springboot项目
二、引入依赖文件
三、编写配置文件
四、编写测试案例
User.java
UserMapper.java
UserService.java
UserServiceImpl.java
UserController.java
SpringbootDemoMybatisPlusApplication.java
五、导入数据库脚本
六、预览结果展示
一、初始化springboot项目
二、引入依赖文件
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.27</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.4</version>
</dependency>
三、编写配置文件
application.yml
spring:
datasource:
# 数据源mysql驱动
driver-class-name: com.mysql.cj.jdbc.Driver
# 数据源url地址
url: jdbc:mysql://localhost:3306/springboot-mybatis-plus?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
# 数据库连接用户名
username: root
# 数据库连接密码
password: 123456
#控制台打印sql
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
四、编写测试案例
User.java
package com.csdn.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.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@TableName("sys_user")
@AllArgsConstructor
@NoArgsConstructor
public class User {
@TableId(type = IdType.AUTO)
private Long id;
@TableField(value = "username")
private String username;
@TableField(value = "password")
private String password;
}
UserMapper.java
package com.csdn.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.csdn.entity.User;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
UserService.java
package com.csdn.service;
import com.csdn.entity.User;
import java.util.List;
public interface UserService {
public List<User> findAllUsers();
}
UserServiceImpl.java
package com.csdn.service.impl;
import com.csdn.entity.User;
import com.csdn.mapper.UserMapper;
import com.csdn.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
public List<User> findAllUsers() {
return userMapper.selectList(null);
}
}
UserController.java
package com.csdn.controller;
import com.csdn.entity.User;
import com.csdn.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/users")
public List<User> findAllUsers() {
return userService.findAllUsers();
}
}
SpringbootDemoMybatisPlusApplication.java
package com.csdn;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.csdn.mapper")
public class SpringbootDemoMybatisPlusApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootDemoMybatisPlusApplication.class, args);
}
}
五、导入数据库脚本
sys_user.sql
/*
Navicat Premium Data Transfer
Source Server : 本地数据库
Source Server Type : MySQL
Source Server Version : 50733
Source Host : localhost:3306
Source Schema : springboot-mybatis-plus
Target Server Type : MySQL
Target Server Version : 50733
File Encoding : 65001
Date: 19/12/2021 07:45:11
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for sys_user
-- ----------------------------
DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_user
-- ----------------------------
INSERT INTO `sys_user` VALUES (1, 'admin1', '123456');
INSERT INTO `sys_user` VALUES (2, 'admin2', '123456');
SET FOREIGN_KEY_CHECKS = 1;