Springboot + Mybatis-plus 增删改查

    技术2022-07-11  80

    建表

    create table user( id BIGINT(20) NOT NULL COMMENT '主键ID', name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', age INT(11) NULL DEFAULT NULL COMMENT '年龄', email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱', addr VARCHAR(250) NULL DEFAULT NULL COMMENT '地址', remark VARCHAR(250) NULL DEFAULT NULL COMMENT '备注', PRIMARY KEY (id) )

    创建工程

    使用Springboot Initializr快速创建工程。

    添加依赖

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.1</version> </dependency> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.16</version> </dependency>

    配置数据库链接

    连接的是MySQL8.0版本的数据库

    #DataSourcespring: spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/mybatis_plus?userSSL=true&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT username: your_user_name password: your_password

    Coding

    entity

    package com.fengling.demomybatisplus.entity; import lombok.Data; @Data public class User { private Long id; private String name; private int age; private String email; private String addr; private String remark; }

    mapper

    package com.fengling.demomybatisplus.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.fengling.demomybatisplus.entity.User; public interface UserMapper extends BaseMapper<User> { }

    测试

    package com.fengling.demomybatisplus; import com.fengling.demomybatisplus.entity.User; import com.fengling.demomybatisplus.mapper.UserMapper; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import javax.annotation.Resource; @RunWith(SpringRunner.class) @SpringBootTest public class UserTests { @Resource private UserMapper userMapper; @Test public void testInsert() { User user = new User(); user.setName("fengling319"); user.setAge(18); user.setEmail("fengling319@xxx.com"); user.setAddr("广东深圳龙岗"); user.setRemark("喝酱油的"); int insert = userMapper.insert(user); Assert.assertEquals(insert , 1); } @Test public void testSelect(){ List<User> users = userMapper.selectList(null); users.forEach(System.out::println); Assert.assertEquals(2, users.size()); } }

    数据库查询结果

    @Test public void testUpdate() { QueryWrapper<User> ew = new QueryWrapper<>(); ew.like("name" , "318"); User user = userMapper.selectOne(ew); user.setRemark("大王叫我来巡山!!!"); int i = userMapper.updateById(user); Assert.assertEquals(i , 1); }

    Processed: 0.011, SQL: 9