ssm项目集成ftp_SSM: Spring boot整合Mybatis实现增删改查

这是一个集成了Spring Boot、Mybatis的SSM项目,包括Spring boot 2.1.6与Mybatis 3.2.2的整合,使用PageHelper实现分页,支持Mysql的sakila数据库。项目提供了文件上传、Excel导出、登录权限验证等功能,并使用Druid数据源、Log4j2日志、动态SQL和异步任务。还实现了FTP文件下载、树状结构生成工具,并探讨了分布式事务和并发控制策略。
摘要由CSDN通过智能技术生成

SSM

Spring boot,Mybatis的整合总是很麻烦,在此提供一个已经整合好三大框架的包,可以直接下载导入Myeclipse使用,项目基于Maven做依赖管理。项目基于Mysql自带的Sakila数据库实现了MIS系统中常用的多个功能,运行前请安装好Mysql8.0。

其中包含的内容如下:

1.Spring boot 2.1.6,Mybatis3.2.2的整合;

2.前端框架采用https://adminlte.io ,后台的分页使用Mybatis的插件pagehelper实现;

3.数据库使用Mysql中自带的sakila数据库,使用前,请将application.properties中的spring.datasource.ssm.password中的数据库密码设置为自己的;

4.实现了sakila中的单表的增删改查和跨表查询,跨表查询包括了Mybatis的1-N和N-1双向映射;

5.添加定时任务:不再使用作业自动调度框架Quartz实现作业调度,使用spring框架自带的调度器进行作业调度,简化了配置。@Scheduled是单线程的,每次最多只有一个作业在运行,如果调度时间到了作业还没执行完,就会等待作业执行完,再等一个调度周期开启一个新的作业;

6.json插件使用阿里的开源fastjson工具,注意低版本的fastjson与swagger不兼容,这里有坑;

7.包含了一个文件上传的功能,可上传单个或多个文件;

8.包含了数据表导出为Excel下载的功能,包含了解析Excel内容的API,使用POI实现;

9.包含了登录功能以及登录权限验证的拦截器, 登录用户名tom,密码1234, 用户表在staff中,可自行添加 ;

10.要使用Struts2+hibernate+spring的整合,点击这里进入

11.去掉所有JSP,使用HTML代替,有利于前后端分离;

12.整合日志工具log4j2,较log4j1.x有较大性能提升,支持日志文件输出和控制台输出;

15.添加mybatis的动态SQL的使用

18.配置允许后台接口跨域

19.不再使用spring boot自带的数据源,改为使用alibaba druid数据源管理数据库连接。

20.添加异步任务,用于处理比较耗时的操作(例如Excel导入,大数据量的计算等),使用spring boot的异步任务实现。使用了注解@EnableAsync和@Async。该注解会在后台为我们自动地创建线程池执行异步任务,但是简化了代码量。

21.添加启动初始化作业,用于spring boot启动时完成一些必须的任务,比如缓存数据的预热加载。

22.添加JdbcTemplate方式查询数据库,可以用于快速添加多个数据源。

23.添加FTP文件下载功能,支持直接下载到本地,也可通过接口导出,还可以导出为BASE64编码。

24.包含树状结构后台生成工具。用于开发过程中生成层级树状结构,形同“编号”,“上级编号”的层级表结构。以单位层级结构为例,我们约定,顶级单位的上级单位字段为NULL。递归构建过程是:

查询全部单位表数据到内存

将单位表的PO转化为节点对象列表DwNode,这个过程需要设置单位编号、上级单位编号、单位名称等

传入节点对象列表List,使用TreeUtils.buildTree找到根节点,并递归调用TreeUtils.buildChildTree方法构建整个树状结构

上述算法的构建过程在DwCache.java中完成,会在spring boot启动时在内存中构建,需要导入dwb.sql才能看到效果。

对于根节点拥有多个的场景,需要调用TreeUtils.buildMultiTree实现。可参考行政区划树的生成方式XzqhCache.java,导入xzqh.sql才能看到效果。

效果图:

附录:中央技术储备仓库(Central Technique Reserve Repository)

基础篇:职业化,从做好OA系统开始

中级篇:中间件的各种姿势

高级篇:架构之美

Spring boot整合Apache dubbo v2.7.5实现分布式服务治理(SOA架构)

包含组件Spring boot v2.2.2+Dubbo v2.7.5+Nacos v1.1.1

效果图

使用Spring Cloud Alibaba v2.1.0实现微服务架构(MSA架构)

包含组件Nacos+Feign+Gateway+Ribbon+Sentinel+Zipkin

效果图

使用jenkins+centos+git+maven搭建持续集成环境自动化部署分布式服务

使用docker+compose+jenkins+gitlab+spring cloud实现微服务的编排、持续集成和动态扩容

使用FastDFS搭建分布式文件系统(高可用、负载均衡)

搭建高可用nginx集群和Tomcat负载均衡

使用mycat实现Mysql数据库的主从复制、读写分离、分表分库、负载均衡和高可用

特别篇:分布式事务和并发控制

基于可靠消息最终一致性实现分布式事务(activeMQ)

Spring boot dubbo整合seata实现分布式事务

包含组件nacos v1.1.0 + seata v0.7.1 +spring boot dubbo v2.7.5

效果图

Spring cloud alibaba v2.1.0整合seata实现分布式事务

包含组件nacos v1.1.0 + seata v0.7.1 +spring cloud alibaba v2.1.0

效果图

并发控制:数据库锁机制和事务隔离级别的实现

并发控制:使用redis实现分布式锁

并发控制:使用zookeeper实现分布式锁

并发控制:Java多线程编程实例

并发控制:使用netty实现高性能NIO通信

视频演示&PPT讲解

第一讲:技术架构演进史和分布式系统

第二讲 分布式服务治理(SOA和微服务)的搭建方法

第三讲:分布式事务的原理和实现(事务消息、TCC、seata)

第四讲:消息队列的使用讲解(activeMQ、rabbitMQ,kafka)

第五讲:分布式锁的三种实现(zookeeper、mysql、redis)

第六讲:elastic search全文检索和大数据分析的实现(ELK平台)

第七讲:分布式缓存redis、文件系统(fastdfs,hdfs)、数据库(mycat,hbase)和负载均衡(nginx)的原理介绍

购买入口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值