SSMP实体类和数据层快速开发

SSMP框架实体类和数据层快速开发

本章节基于SSMP框架实现实体类和数据层快速开发



前言

什么是实体类和数据层?

实体类就是一个载体,现在的设计差不多都是一张表就等于业务里面的一个类。一条记录(一般一行数据)是一个对象,一行中的一列就是这个对象的一个属性。所以我们在操作某个表时(比如更改这个表的信息),我们就可以在前台定义一个这样的对象,然后将其对应的属性赋值,然后传到后台。

数据层也是DAO层,DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,DAO层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。


一、实体类的开发

首先我们先创建一个domain包,domain包下创建Book类,接下来我介绍一下一款快速开发实体类的工具Lombok

Lombok,一个Java类库,提供了一组注解,简化POJO实体类开发。

这是Lombok的坐标

<dependency>
 <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
</dependency>

在我们已经创建好的实体类中最前面加上注解@Data

package com.jikebensan.book.domain;

import lombok.Data;

@Data
public class Book {
    
    
    private Integer id;
    private String type;
    private String name;
    private String description;
}

@Data为当前实体类在编译期设置对应的get/set方法,toString方法,hashCode方法,equals方法等,这些方法不用手动添加了

二、数据层的开发

MyBatisPlus和Druid

数据层我们用到的技术是MyBatisPlus和Druid
首先我们先导入MyBatisPlus与Druid对应的starter坐标

//MyBatisPlus坐标
<dependency>
 <groupId>com.baomidou</groupId> 
 <artifactId>mybatis-plus-boot-starter</artifactId> 
 <version>3.4.3</version>
</dependency> 

//Druid坐标
<dependency> 
<groupId>com.alibaba</groupId>
 <artifactId>druid-spring-boot-starter</artifactId>
 <version>1.2.6</version>
</dependency>

yml文件

接着我们再配置yml文件(端口号,连接数据库四大要素,MP配置)

server:
  port: 8080

spring:
  datasource:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/pby?serverTimezone=UTC
      username: root
      password: root

mybatis-plus:
  global-config:
    db-config:
      table-prefix:
      id-type: auto

接下来我们再创建dao包,dao包下创建BookDao接口
其中BookDao继承了MP给我们提供的BaseMapper,这样我们的数据层就完成搭建

BookDao接口

package com.jikebensan.book.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jikebensan.book.domain.Book;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

@Mapper
public interface BookDao  extends BaseMapper<Book>{
    
    
}

那么本应该写抽象方法(数据库的增删改查方法)的BookDao接口为什么只用写一个继承BaseMapper?
我们直接打开BaseMapper看看就知道了。
在这里插入图片描述

原来如此,MP已经帮我们写好了CRUD的方法,请把国产MP牛批打在公屏上。


测试环节

上面已经快速开发了数据层和实体类,接下来我们就可以测试一下了
测试代码

package com.jikebensan.book;

import com.jikebensan.book.dao.BookDao;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class BookApplicationTests {
    
    
@Autowired
private BookDao bookDao;
	@Test
	void test1() {
    
    
		bookDao.selectById(3);
	}

}

实现查询数据库中id为3的图书信息
在这里插入图片描述
控制台成功打印出来id为3的书本信息。

明天我会继续更新SSMP框架的业务层和表现层的开发

猜你喜欢

转载自blog.csdn.net/qq_54088719/article/details/121844770