一、实验目的
- 了解当前流行的系统框架;
- 使用框架创建基本的数据管理功能;
- 熟悉AI辅助编程;
二、实验学时
2学时
三、实验类型
验证性
四、实验需求
1、硬件
每人配备计算机1台,建议优先使用个人计算机开展实验。
2、软件
安装IntelliJ IDEA,以及Java运行所需要的相关基础环境。
3、网络
本地主机能够访问互联网和实验中心网络。
4、工具
无。
五、实验任务
- 完成SpirngBoot项目搭建;
- 完成前端基础项目的搭建;
- 完成患者和医生数据的增删改查。
六、实验内容及步骤
1、导入SpringBoot项目
(1)下载SpringBoot项目gitee.com/y_project/R…
(2)配置数据库连接
(3)配置端口号
(3)下载并启动redis
(4)配置redis端口
2、创建Controller
(示例代码)
package com.ruoyi.web.controller.demo;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.system.domain.PatInfo;
import com.ruoyi.system.service.IPatService;
import com.ruoyi.system.service.ISysConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/test")
public class DemoController extends BaseController {
@Autowired
private IPatService patService;
*/***
** 查询患者信息*
**/*
**@PostMapping(value = "/getPatInfo")
public AjaxResult getPatInfo(@RequestBody PatInfo patInfo) {
List<PatInfo> list = patService.getPatInfo(patInfo);
return success(list);
}
*/***
** 修改患者信息*
**/*
**@PostMapping(value = "/updatePatInfo")
public AjaxResult updatePatInfo(@RequestBody PatInfo patInfo) {
int state = patService.updatePatInfo(patInfo);
return success(state);
}
*/***
** 删除患者信息*
**/*
**@PostMapping(value = "/deletePatInfoById")
public AjaxResult deletePatInfoById(@RequestBody PatInfo patInfo) {
int state = patService.deletePatInfoById(patInfo);
return success(state);
}
*/***
** 增加患者信息*
**/*
**@PostMapping(value = "/addPatInfo")
public AjaxResult addPatInfo(@RequestBody PatInfo patInfo) {
int state = patService.addPatInfo(patInfo);
return success(state);
}
}
3、创建服务层
(示例代码)
package com.ruoyi.system.service;
import com.ruoyi.system.domain.PatInfo;
import com.ruoyi.system.domain.SysConfig;
import java.util.List;
*/***
** 患者 服务层*
***
** @author ruoyi*
**/*
public interface IPatService {
List<PatInfo> getPatInfo(PatInfo patInfo);
int updatePatInfo(PatInfo patInfo);
int deletePatInfoById(PatInfo patInfo);
int addPatInfo(PatInfo patInfo);
}
package com.ruoyi.system.service.impl;
import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.PatInfo;
import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.mapper.PatMapper;
import com.ruoyi.system.mapper.SysConfigMapper;
import com.ruoyi.system.service.IPatService;
import com.ruoyi.system.service.ISysConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.util.Collection;
import java.util.List;
*/***
** 患者 服务层实现*
***
** @author ruoyi*
**/*
@Service
public class PatImpl implements IPatService {
@Autowired
private PatMapper patMapper;
@Override
public List<PatInfo> getPatInfo(PatInfo patInfo) {
return patMapper.getPatInfo(patInfo);
}
@Override
public int updatePatInfo(PatInfo patInfo) {
return patMapper.updatePatInfo(patInfo);
}
@Override
public int deletePatInfoById(PatInfo patInfo) {
return patMapper.deletePatInfoById(patInfo);
}
@Override
public int addPatInfo(PatInfo patInfo) {
return patMapper.addPatInfo(patInfo);
}
}
4、创建数据层
(示例代码)
package com.ruoyi.system.mapper;
import com.ruoyi.system.domain.PatInfo;
import com.ruoyi.system.domain.SysConfig;
import java.util.List;
*/***
** 患者 数据层*
***
** @author ruoyi*
**/*
public interface PatMapper {
List<PatInfo> getPatInfo(PatInfo patInfo);
int updatePatInfo(PatInfo patInfo);
int deletePatInfoById(PatInfo patInfo);
int addPatInfo(PatInfo patInfo);
}
5、Mapper.xml文件
*<?* xml version="1.0" encoding="UTF-8" *?>*
<!DOCTYPE mapper
PUBLIC "[-//mybatis.org//DTD](https://-//mybatis.org//DTD) Mapper 3.0//EN"
"[http://mybatis.org/dtd/mybatis-3-mapper.dtd"](http://mybatis.org/dtd/mybatis-3-mapper.dtd">)[ *>*](http://mybatis.org/dtd/mybatis-3-mapper.dtd">)
<mapper namespace="com.ruoyi.system.mapper.PatMapper">
<resultMap type="PatInfo" id="PatInfoResult">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="idNo" column="id_no"/>
<result property="age" column="age"/>
<result property="sex" column="sex"/>
<result property="createTime" column="create_time"/>
<result property="isDel" column="is_del"/>
</resultMap>
<select id="getPatInfo" parameterType="PatInfo" resultMap="PatInfoResult">
select ***
**from pat_info t
where 1=1
<if test="name != null and name != ''">
AND name like concat('%', #{name}, '%')
</if>
<if test="idNo != null and idNo != ''">
AND id_no like concat('%', #{idNo}, '%')
</if>
</select>
<update id="updatePatInfo" parameterType="PatInfo">
update pat_info
<set>
<if test="name != null and name != ''">name = #{name},</if>
<if test="age != null and age != ''">age = #{age},</if>
<if test="sex != null and sex != ''">sex = #{sex},</if>
<if test="isDel != null and isDel != ''">isDel = #{isDel},</if>
update_time = sysdate()
</set>
where id_no = #{idNo}
</update>
<delete id="deletePatInfoById" parameterType="PatInfo">
delete from pat_info where id_no = #{idNo}
</delete>
<insert id="addPatInfo" parameterType="PatInfo">
insert into pat_info (
<if test="name != null and name != '' ">name,</if>
<if test="idNo != null and idNo != '' ">id_no,</if>
<if test="age != null and age != '' ">age,</if>
<if test="sex != null and sex != '' ">sex,</if>
is_del
)values(
<if test="name != null and name != '' ">#{name},</if>
<if test="idNo != null and idNo != '' ">#{idNo},</if>
<if test="age != null and age != '' ">#{age},</if>
<if test="sex != null and sex != '' ">#{sex},</if>
0
)
</insert>
</mapper>
6、下载安装postman
app.getpostman.com/app/downloa…
安装
7、使用postman测试接口
七、实验考核
本实验考核采用【实验随堂查】方式开展。
每个实验完成后,在实验课上通过现场演示的方式向实验指导教师进行汇报,并完成现场问答交流。
每个实验考核满分100分,其中实验成果汇报60分,现场提问交流40分。
实验考核流程:
(1)学生演示汇报实验内容的完成情况,实验指导老师现场打分。
(2)指导老师结合实验内容进行提问,每位学生提问2-3个问题,根据回答的情况现场打分。
(3)实验考核结束后,进行公布成绩。