随着我国经济的不断发展,民生基础建设也在不断完善,社会保障服务也得到了很好的发展,表现最为突出的就是社区医疗,从根本上上解决了看病难的问题,为了更好的服务人们的生活,本文着力研究社区医疗信息管理系统的设计,在了解社区医疗管理系统的需求基础之上,并提出社区医疗信息管理系统的实现方案。
研发一套针对社区环境的医疗信息系统,实现社区医疗信息的网络化管理.方法 采用基于 WEB 的浏览器/服务器(browser/server,B/S)模式网络架构.以 Apache 为网络服务器,JAVA语言,MySQL 为数据库管理工具.所有代码都在 服务器端实现.为保护患者隐私和系统数据安全,系统采用严格的用户分级授权机制. 结果在实验室模拟环境下,测试结果表明系统安全可靠,设计能满足当前社区医疗信息化的基本要求.结论 以免费开源工具为基础构建的基于 WEB 的社区医疗信息系统可基本满足一般社区的医疗信息化需求。
关键字: 社区医疗;B/S模式;springboot;mysql
【695】基于springboot社区医疗服务管理系统源码和论文
1 项目介绍
1.1 项目背景
随着现代互联网的快速发展,人们的生活越来越离不开互联网带给我们的便捷。在这样的环境下,传统的医院医疗系统,现场挂号,就诊,取药等方式已经不能满足我们,所以线上预约挂号,看病的需求迫切要得到解决。在这样市场的要求下,我们的线上医疗系统应运而生。
1.2 业务模型
2 项目架构
2.1 框架技术
后台框架:Spring Boot
持久层框架: BeetlSQL
引擎模板:Beetl
前端框架:Layui
2.2 maven依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- beetl-framework-starter -->
<dependency>
<groupId>com.ibeetl</groupId>
<artifactId>beetl-framework-starter</artifactId>
<version>1.2.24.RELEASE</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.driver.verion}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
2.4 yml文件配置
###### WEB 路径 端口 ######
server:
servlet:
context-path: /
port: 9000
################### beetsql配置 ########################
# 默认是true,即向控制台输出执行时候的sql,参数,执行时间,以及执行的位置,每次修改sql文件的时候,自动检测sql文件修改
beetl-beetlsql:
dev: true
beetlsql:
basePackage: com.lb.dao
# sql 文件的位置
sqlPath: /sql
daoSuffix: Dao
dbStyle: org.beetl.sql.core.db.MySqlStyle
################### mysql数据库连接配置 #################
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/hospital?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 123456
2.5 beetlsql 配置类
public class DataSourceConfig {
/**
* BeetlSQL 官方推荐配置
* 使用的是 Hikari 连接池 springboot2.0 默认支持
*/
@Bean(name="datasource")
public DataSource datasource(Environment env) {
HikariDataSource ds = new HikariDataSource();
ds.setJdbcUrl(env.getProperty("spring.datasource.url"));
ds.setUsername(env.getProperty("spring.datasource.username"));
ds.setPassword(env.getProperty("spring.datasource.password"));
ds.setDriverClassName(env.getProperty("spring.datasource.driver-class-name"));
return ds;
}
}
2.6 数据库设计
数据库版本:MySQL 5.7.22
表设计:
具体的SQL脚本参考项目素材包。
2.7 逆向工程
使用SQLManager对象帮我们将数据表逆向生成pojo、sql文件以及接口。
在这一步操作时,已提前准备好3个模板文件。
测试工具类:
public class BeetlSqlTest {
// ========数据库配置=========
private static String driver = "com.mysql.cj.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/hospital?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT";
private static String userName = "root";
private static String password = "123456";
// ========模板的路径, 示例是spring boot的[src/main/resources/beetlsqlTemplate 文件夹]=========
private static String templatePath = "/beetlsqlTemplate";
// ========md生成路径 要提前创建=========
private static String mdPath = "/sql";
// ========生成实体类所在的包=========
private static String pojoPkg = "com.lb.entity";
// ========生成mapper类所在的包=========
private static String mapperPkg = "com.lb.dao";
/**
* 入口
*/
public static void main(String[] args) throws Exception {
genAll();
}
public static void genAll() throws Exception {
//准备工作
ConnectionSource source = ConnectionSourceHelper.getSimple(driver, url, userName, password);
DBStyle mysql = new MySqlStyle();
SQLLoader loader = new ClasspathLoader(mdPath);
UnderlinedNameConversion nc = new UnderlinedNameConversion();
SQLManager sqlManager = new SQLManager(mysql, loader, source, nc, null);
GenConfig config = new GenConfig();
config.setDisplay(false);
config.setPreferBigDecimal(true);
System.out.println("======生成代码======");
Set<String> tables = sqlManager.getMetaDataManager().allTable();
for (String table : tables) {
System.out.printf("%-20s %s\n",table ,