同步操作将从 shenzhanwang/SSM 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
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.yml中的spring.datasource.ssm.password中的数据库密码设置为自己的;
4.实现了sakila中的单表的增删改查和跨表查询,跨表查询包括了Mybatis的1-N和N-1双向映射;
5.添加定时任务:不再使用作业自动调度框架Quartz实现作业调度,使用spring框架自带的调度器进行作业调度,简化了配置。@Scheduled是单线程的,每次最多只有一个作业在运行,如果调度时间到了作业还没执行完,就会等待作业执行完,再等一个调度周期开启一个新的作业;
6.json插件使用阿里的开源fastjson工具,注意低版本的fastjson与swagger不兼容,这里有坑;
7.包含了一个文件上传的功能,可上传单个或多个文件;
8.Excel导入导出工具使用EasyPOI来完成:https://easypoi.mydoc.io/ ,想导出为Excel直接在PO中使用@Excel注解,例如
public class Actor implements Serializable{
@ApiModelProperty("主键")
@Excel(name = "编号", width=10)
private Integer actor_id;
@ApiModelProperty("名字")
@Excel(name = "名字")
private String first_name;
@ApiModelProperty("姓氏")
@Excel(name = "姓氏")
private String last_name;
@ApiModelProperty("最后更新日期")
@Excel(name = "最后更新日期", width=20)
private String last_update;
......
......
其中name用于设置导出的Excel字段名称,然后再添加接口就能完成Excel数据的导出:
@ApiOperation("单sheet导出-把演员导出为Excel")
@RequestMapping(value="/exportactor",method = RequestMethod.POST)
public void export(HttpServletResponse response) throws IOException{
List<Actor> list = actorservice.getpageActors(1, 500);
ExportParams exportParams = new ExportParams();
exportParams.setSheetName("演员");
exportParams.setType(ExcelType.XSSF);
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, Actor.class, list);
response.setCharacterEncoding("utf-8");
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("actor.xlsx" , "UTF-8"));
workbook.write(response.getOutputStream());
}
如果要导入Excel数据到数据库,直接把Excel文件上传到接口,把文件转为PO列表写入数据库:
@ApiOperation("导入Excel数据到演员表")
@RequestMapping(value="/importactor",method = RequestMethod.POST)
@ResponseBody
public void importExcel(@RequestParam MultipartFile uploadfile) throws Exception{
ImportParams params = new ImportParams();
params.setHeadRows(1);
List<Actor> list = ExcelImportUtil.importExcel(uploadfile.getInputStream(), Actor.class, params);
list.forEach(a->System.out.println(a));
}
还支持自定义样式的模板导出:
9.包含了登录功能以及登录权限验证的拦截器, 登录用户名tom,密码1234, 用户表在staff中,可自行添加 ;
10.要使用Struts2+hibernate+spring的整合,点击这里进入
11.去掉所有JSP,使用HTML代替,有利于前后端分离;
12.使用spring boot自带的日志工具logback,支持日志文件输出和控制台输出;
13.整合接口文档swagger2.9.2,入口http://localhost:8080/swagger-ui.html
14.将后台接口REST化,详情参考https://gitee.com/shenzhanwang/Spring-REST
15.添加mybatis的动态SQL的使用
16.访问入口:http://localhost:8080/login
17.要使用传统spring,切换分支到https://gitee.com/shenzhanwang/SSM/tree/master/
18.配置允许后台接口跨域
19.不再使用spring boot自带的数据源,改为使用alibaba druid数据源管理数据库连接。
20.添加异步任务,用于处理比较耗时的操作(例如Excel导入,大数据量的计算等),使用spring boot的异步任务实现。使用了注解@EnableAsync和@Async。该注解会在后台为我们自动地创建线程池执行异步任务,但是简化了代码量。
21.添加启动初始化作业,用于spring boot启动时完成一些必须的任务,比如缓存数据的预热加载。
22.添加JdbcTemplate方式查询数据库,可以用于快速添加多个数据源。
23.添加FTP文件下载功能,支持直接下载到本地,也可通过接口导出,还可以导出为BASE64编码。
24.包含树状结构后台生成工具。用于开发过程中生成层级树状结构,形同“编号”,“上级编号”的层级表结构。以单位层级结构为例,我们约定,顶级单位的上级单位字段为NULL。递归构建过程是:
@DataSource(DataSource.REST)
public Item getItemById(Long id) {
return itemMapper.selectByPrimaryKey(id);
}
要继续新增数据源,需要去DataSource.java和DataSourceConfiguration.java中添加新的数据库配置。
效果图:
购买地址 |
---|
京东商城购买地址 |
当当网购买地址 |
包含组件Spring boot v2.2.2+Dubbo v2.7.5+Nacos v1.1.1 效果图
包含组件Nacos+Feign+Gateway+Ribbon+Sentinel+Zipkin 效果图
包含组件nacos v2.0.2 + seata v1.4.2 +spring boot dubbo v2.7.5 效果图
包含组件nacos v2.0.2 + seata v1.4.2 +spring cloud alibaba v2.2.7 效果图
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。