一步一步教你配置数据库进行CRUD

此步骤是按照在Spring Boot 框架集成Knife4j_西瓜霜3.0的博客-CSDN博客文章的基础配置下进行开发

一.首先我们连接数据库需要引入mysql依赖和在application.yml中进行连接数据库配置

在pom.xml中添加如下代码

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.30</version>
</dependency>
<dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.1</version>
</dependency>
<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
</dependency>

在application.yml中添加

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/jktest?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8
    username: root
    password: root

完整项目结构为:

 

二.在启动类上面添加@MapperScan注解,可以扫描包下的mapper文件夹

 三.创建用户实体类

新建domain包,在包中创建SysRole实体类

package com.example.testknife4j.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
@TableName("sys_role")
public class SysRole {
     @TableId(type = IdType.AUTO)    
     private Long id;

    //@NotBlank(message = "角色名称不能为空")
    @ApiModelProperty(value = "角色名称")
    @TableField("role_name")
    private String roleName;

    @ApiModelProperty(value = "角色编码")
    @TableField("role_code")
    private String roleCode;

    @ApiModelProperty(value = "描述")
    @TableField("description")
    private String description;

}

类中使用的注解:

@TableName:表名注解,标识实体类对应的表

@TableId:主键注解,type = IdType.AUTO(数据库 ID 自增)

@TableField:字段注解(非主键)

四.创建对应的数据库表

CREATE TABLE `sys_role` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '角色id',
  `role_name` varchar(20) NOT NULL DEFAULT '' COMMENT '角色名称',
  `role_code` varchar(20) DEFAULT NULL COMMENT '角色编码',
  `description` varchar(255) DEFAULT NULL COMMENT '描述',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='角色';

五.创建mapper接口并继承BaseMapper

package com.example.testknife4j.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.testknife4j.domain.SysRole;
import org.apache.ibatis.annotations.Mapper;


public interface SysRoleMapper extends BaseMapper<SysRole> {
}

六.CRUD测试

package com.example.testknife4j;

import com.example.testknife4j.domain.SysRole;
import com.example.testknife4j.mapper.SysRoleMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

@SpringBootTest
class Testknife4jApplicationTests {
    @Autowired
   private SysRoleMapper mapper;


    @Test
//    添加
    void testInsert() {
        SysRole sysRole = new SysRole();
        sysRole.setRoleName("总经理");
        sysRole.setRoleCode("10010");
        sysRole.setDescription("一人之下");
        int result = mapper.insert(sysRole);
        System.out.println(result);
        System.out.println(sysRole);
    }

    @Test
//    删除
    void testDelete() {
        mapper.deleteById(2L);
    }

    @Test
//    修改
    void testUpdate() {
        SysRole sysRole = new SysRole();
        sysRole.setId(1L);
        sysRole.setRoleName("董事长");
        sysRole.setRoleCode("10000");
        sysRole.setDescription("公司我最大");
        mapper.updateById(sysRole);

    }

    @Test
//    根据id查询
    void testGetById() {
        SysRole sysRole = mapper.selectById(1L);
        System.out.println(sysRole);
    }

    
    @Test
//    查询全部
    void testGetAll() {
        List<SysRole> sysRoles = mapper.selectList(null);
        System.out.println(sysRoles);
    }
}

运行效果全部成功

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值