后端初始化

创建项目

idea自带 start.spring.io
image.png

image.png
暂时先加这些

Demo

使用MybatisPlus

MyBatis-Plus (baomidou.com)

idea 自带database

image.png

image.png

创建数据库

image.png

image.png

image.png

建表
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)
);

image.png
执行

表就建好了
image.png

插入数据
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');

image.png

引入依赖
<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 生成代码

image.png

image.png

image.png
这步很重要!!!
image.png

实体类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);
    }

}

发现没有这个包
image.png

image.png
当引入 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);
    }

}
执行结果

image.png
注意:
idea编辑器提示了
image.png
所以是不需要引 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);
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子仪_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值