创建项目
idea
自带 start.spring.io
暂时先加这些
Demo
使用MybatisPlus
idea 自带database
创建数据库
建表
DROP TABLE IF EXISTS user;
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 '邮箱',
PRIMARY KEY (id)
);
执行
表就建好了
插入数据
DELETE FROM user;
INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');
引入依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3</version>
</dependency>
application.yml
spring:
application:
name: user-center
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/springboot-init
username: root
password: root
server:
port: 8080
使用MybatisX 生成代码
这步很重要!!!
实体类User
@TableId(type=IdType.ASSIGN_ID) 是后加的,ASSIGN_ID比AUTO安全
package com.ziyi.springbootinit.model.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 java.io.Serializable;
import lombok.Data;
/**
*
* @TableName user
*/
@TableName(value ="user")
@Data
public class User implements Serializable {
/**
* 主键ID
*/
@TableId(type=IdType.ASSIGN_ID)
private Long id;
/**
* 姓名
*/
private String name;
/**
* 年龄
*/
private Integer age;
/**
* 邮箱
*/
private String email;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
UserMapper
package com.ziyi.springbootinit.mapper;
import com.ziyi.springbootinit.model.entity.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author Ziyi
* @description 针对表【user】的数据库操作Mapper
* @createDate 2023-05-14 08:49:39
* @Entity com.ziyi.springbootinit.model.entity.User
*/
public interface UserMapper extends BaseMapper<User> {
}
UserService
package com.ziyi.springbootinit.service;
import com.ziyi.springbootinit.model.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author Ziyi
* @description 针对表【user】的数据库操作Service
* @createDate 2023-05-14 08:49:39
*/
public interface UserService extends IService<User> {
}
UserServiceImpl
package com.ziyi.springbootinit.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ziyi.springbootinit.service.UserService;
import com.ziyi.springbootinit.model.entity.User;
import com.ziyi.springbootinit.mapper.UserMapper;
import org.springframework.stereotype.Service;
/**
* @author sunjunchen
* @description 针对表【user】的数据库操作Service实现
* @createDate 2023-05-14 08:49:39
*/
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User>
implements UserService {
}
编写测试用例
测试用例的好处:提高代码质量和可维护性
@SpringBootTest
public class SampleTest {
@Autowired
private UserMapper userMapper;
@Test
public void testSelect() {
System.out.println(("----- selectAll method test ------"));
List<User> userList = userMapper.selectList(null);
Assert.assertEquals(5, userList.size());
userList.forEach(System.out::println);
}
}
发现没有这个包
当引入 springframework
的这个包,发现没有 assertEquals
方法
这里要引入JUnit包
引入 java
包,可以去 maven
中心仓库
Maven Repository: Search/Browse/Explore (mvnrepository.com)
完整代码
package com.ziyi.springbootinit;
import com.ziyi.springbootinit.mapper.UserMapper;
import com.ziyi.springbootinit.model.entity.User;
import org.junit.Assert;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import javax.annotation.Resource;
import java.util.List;
@SpringBootTest
public class SampleTest {
@Resource
private UserMapper userMapper;
@Test
public void testSelect() {
System.out.println(("----- selectAll method test ------"));
List<User> userList = userMapper.selectList(null);
Assert.assertEquals(5, userList.size());
userList.forEach(System.out::println);
}
}
执行结果
注意:
idea编辑器提示了
所以是不需要引 JUnit
包的,经测试没问题
最终测试类代码
package com.ziyi.springbootinit;
import com.ziyi.springbootinit.mapper.UserMapper;
import com.ziyi.springbootinit.model.entity.User;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import javax.annotation.Resource;
import java.util.List;
@SpringBootTest
public class SampleTest {
@Resource
private UserMapper userMapper;
@Test
public void testSelect() {
System.out.println(("----- selectAll method test ------"));
List<User> userList = userMapper.selectList(null);
Assertions.assertEquals(5, userList.size());
userList.forEach(System.out::println);
}
}