**本文以药品管理功能为例**
数据库设计
SpringBoot后端
环境配置省略(具体的环境因人而异)
部分依赖文件
<dependencies>
<!-- jwt-->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>4.3.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<!-- SpringBoot2.2.5默认的mysql是mysql8。所有手动降级为mysql5 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.41</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- 热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<!-- spring与mybatis整合包 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
Entity实体类
package cn.itsource.sickbay.Entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigInteger;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Drugs {
private BigInteger did;
private String dname;
private String dbrand;
private String dproduct;
private String dcreate;
private String dendtime;
private String dprice;
private Integer stock;
private Integer used;
private Integer addin;
private String addstaff;
private String dfrom;
}
Mapper持久层
package cn.itsource.sickbay.Mapper;
import cn.itsource.sickbay.Entity.Drugs;
import cn.itsource.sickbay.Entity.Records;
import org.apache.ibatis.annotations.Mapper;
import java.math.BigInteger;
import java.util.List;
@Mapper
public interface DrugsMapper {
/**
* 药品列表
*/
List<Drugs> queryDrugsList();
/**
* 药品的使用和入库
*/
Integer UpdateDrugs(Drugs drugs);
/**
* 药品种类的添加
*/
Integer AddDrugs(Drugs drugs);
/**
* 药品种类的移除
*/
Integer DeleteDrugs(BigInteger did);
}
Service业务逻辑层
Service interface
package cn.itsource.sickbay.Service;
import cn.itsource.sickbay.Entity.Drugs;
import java.math.BigInteger;
import java.util.List;
public interface IdrugsService {
/**
* 药品列表
*/
List<Drugs> queryDrugsList();
/**
* 药品的使用和入库
*/
Integer UpdateDrugs(Drugs drugs);
/**
* 药品种类的添加
*/
Integer AddDrugs(Drugs drugs);
/**
* 药品种类的移除
*/
Integer DeleteDrugs(BigInteger did);
}
Service Impl
//Idea中alt + enter快速接口实现类
实现接口后引入Mapper进行数据操作。
package cn.itsource.sickbay.Service.Impl;
import cn.itsource.sickbay.Entity.Drugs;
import cn.itsource.sickbay.Mapper.DrugsMapper;
import cn.itsource.sickbay.Service.IdrugsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigInteger;
import java.util.List;
@Service
public class IdrugsServiceImpl implements IdrugsService {
@Autowired
private DrugsMapper mapper;
@Override
public List<Drugs> queryDrugsList() {
return mapper.queryDrugsList();
}
@Override
public Integer UpdateDrugs(Drugs drugs) {
return mapper.UpdateDrugs(drugs);
}
@Override
public Integer AddDrugs(Drugs drugs) {
return mapper.AddDrugs(drugs);
}
@Override
public Integer DeleteDrugs(BigInteger did) {
return mapper.DeleteDrugs(did);
}
}
DrugsMapper.xml SQL映射文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.itsource.sickbay.Mapper.DrugsMapper">
<select id="queryDrugsList" resultType="Drugs">
SELECT
DID, DNAME, DBRAND, DPRODUCT, DCREATE, DENDTIME, DPRICE, STOCK, USED, ADDIN, ADDSTAFF, DFROM
FROM drugs
</select>
</mapper>
Controller控制类
package cn.itsource.sickbay.Controller;
import cn.itsource.sickbay.Common.R;
import cn.itsource.sickbay.Service.IdrugsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@CrossOrigin(origins = "*")
@RequestMapping("/drugs")
public class DrugsController {
@Autowired
private IdrugsService service;
@GetMapping("/list")
public R queryDrugsList() {
return R.OK().setData(service.queryDrugsList());
}
}
这里是以药品管理功能中的查询弄能进行的功能测试,
测试结果通过。
该功能模块的增删改功能可同理依次实现。