智能医学工程-计算机程序设计-实验11:使用AI辅助编程

352 阅读3分钟

一、实验目的

  1. 了解当前流行的系统框架;
  2. 使用框架创建基本的数据管理功能;
  3. 熟悉AI辅助编程;

二、实验学时

2学时

三、实验类型

验证性

四、实验需求

1、硬件

每人配备计算机1台,建议优先使用个人计算机开展实验。

2、软件

安装IntelliJ IDEA,以及Java运行所需要的相关基础环境。

3、网络

本地主机能够访问互联网和实验中心网络。

4、工具

无。

五、实验任务

  1. 完成SpirngBoot项目搭建;
  2. 完成前端基础项目的搭建;
  3. 完成患者和医生数据的增删改查。

六、实验内容及步骤

1、导入SpringBoot项目

(1)下载SpringBoot项目gitee.com/y_project/R…

(2)配置数据库连接

(3)配置端口号

(3)下载并启动redis

github.com/MicrosoftAr…

(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)实验考核结束后,进行公布成绩。