1.创建数据库
/*
Navicat Premium Data Transfer
Source Server : MYSQL80
Source Server Type : MySQL
Source Server Version : 80015
Source Host : localhost:3306
Source Schema : study
Target Server Type : MySQL
Target Server Version : 80015
File Encoding : 65001
Date: 05/10/2021 09:16:09
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for blog
-- ----------------------------
DROP TABLE IF EXISTS `blog`;
CREATE TABLE `blog` (
`id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
PRIMARY KEY (`id`) USING BTREE,
INDEX `name`(`name`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of blog
-- ----------------------------
INSERT INTO `blog` VALUES (7, '1');
INSERT INTO `blog` VALUES (8, '2');
INSERT INTO `blog` VALUES (9, '3');
-- ----------------------------
-- Table structure for blog_tag
-- ----------------------------
DROP TABLE IF EXISTS `blog_tag`;
CREATE TABLE `blog_tag` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`bid` int(11) UNSIGNED NOT NULL,
`tid` int(11) UNSIGNED NOT NULL,
PRIMARY KEY (`id`) USING BTREE,
INDEX `1`(`bid`) USING BTREE,
INDEX `tid`(`tid`) USING BTREE,
CONSTRAINT `1` FOREIGN KEY (`bid`) REFERENCES `blog` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `blog_tag_ibfk_1` FOREIGN KEY (`tid`) REFERENCES `tag` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of blog_tag
-- ----------------------------
INSERT INTO `blog_tag` VALUES (4, 7, 6);
-- ----------------------------
-- Table structure for tag
-- ----------------------------
DROP TABLE IF EXISTS `tag`;
CREATE TABLE `tag` (
`id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of tag
-- ----------------------------
INSERT INTO `tag` VALUES (4, 'B');
INSERT INTO `tag` VALUES (6, 'A');
SET FOREIGN_KEY_CHECKS = 1;
2.导入依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.4</version>
</dependency>
3.配置application.yml
spring:
devtools:
restart:
enabled: true
additional-paths: src/main/java
datasource:
username: root
password: ******
url: jdbc:mysql://localhost:3306/study
driver-class-name: com.mysql.cj.jdbc.Driver
server:
port: 8084
4.实体类、mapper层
blog实体类
package com.sj.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.sun.corba.se.spi.orbutil.fsm.Input;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Description:
* @author: sj
* @date: 2021年10月05日 9:32
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Blog {
@TableId(type = IdType.AUTO)
private int id;
private String name;
}
mapper
package com.sj.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sj.entity.Blog;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @Description:
* @author: Admin
* @date: 2021年10月05日 9:35
*/
@Repository
public interface BlogMapper extends BaseMapper<Blog> {
List<Blog> selectList();
}
测试
package com.sj;
import com.sj.entity.Blog;
import com.sj.mapper.BlogMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import javax.sound.midi.Soundbank;
import java.util.List;
@SpringBootTest
class MybatiPlusApplicationTests {
@Autowired
BlogMapper blogMapper;
@Test
void contextLoads() {
List<Blog> blogs = blogMapper.selectList();
System.out.println(blogs);
}
@Test
void insert(){
Blog blog=new Blog();
blog.setName("demo");
int insert = blogMapper.insert(blog);
System.out.println(insert);
System.out.println(blog);
}
@Test
void update(){
Blog blog=new Blog();
blog.setName("update");
blog.setId(15);
int i = blogMapper.updateById(blog);
System.out.println(i);
System.out.println(blog);
}
@Test
void delete(){
Blog blog=new Blog();
blog.setId(14);
int i = blogMapper.deleteById(blog);
System.out.println(i);
System.out.println(blog);
}
}
查询结果:
添加:
更新:
删除: