自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

真是适合睡觉的天气

尽管去做,尽管保持自律,剩下的交给时间

  • 博客(125)
  • 资源 (21)
  • 收藏
  • 关注

原创 CentOS Docker搭建Mysql5.7集群

‌ change master命令用于配置和改变Slave服务器用于连接Master服务器的参数,以便Slave服务器读取Master服务器的binlog及Slave服务器的relay log。在执行该命令之前,如果Slave服务器上的IO线程和SQL线程已经启动,需要先停止这些线程(执行stop slave命令)。

2024-08-25 15:38:10 1207 1

原创 CentOS 阿里云yum源

下载地址: https://mirrors.aliyun.com/centos/CentOS过期源(centos-vault):centos-vault镜像_centos-vault下载地址_centos-vault安装教程-阿里巴巴开源镜像站CentOS arm源(centos-altarch):centos-altarch镜像_centos-altarch下载地址_centos-altarch安装教程-阿里巴巴开源镜像站CentOS Stream源(centos-stream):centos-strea

2024-07-29 19:42:04 796

原创 CentOS7 yum报错Cannot find a valid baseurl for repo

Cannot find a valid baseurl for repo

2024-07-28 16:11:20 871

原创 com.alibaba.druid.sql.parser.ParserException: syntax error, expect ), actual IDENTIFIERxxx

解决com.alibaba.druid.sql.parser.ParserException: syntax error, expect ), actual IDENTIFIERxxx

2024-06-26 14:08:42 508

原创 Spring Boot启动报错Lombok supports: sun/apple javac 1.6, ECJ

Spring Boot启动报错Lombok supports: sun/apple javac 1.6, ECJ

2024-06-22 09:32:43 921

原创 SpringBoot多模块项目MybatisPlus配置

springboot多模块项目搭建,pom、MybatisPlus实体类、xml目录路径配置

2024-05-14 15:11:46 502

原创 解决not eligible for getting processed by all BeanPostProcessors

多模块项目整合shiro启动时控制台提示,项目结构为admin为主模块,其他模块作为依赖引入主模块,大概情况是加载ShiroConfig时注册自定义UserRealm,顺便把引入的SysUserService注入了,容器注册Bean时发现已经存在了,导致Bean不符合BeanPostProcessors条件,打印出提示。我解决的方法是在配置文件中引用的类加上@Lazy。

2024-04-09 16:13:30 1642 1

原创 SpringBoot多模块项目整合Shiro报错No bean of type ‘org.apache.shiro.realm.Realm‘ found.

spring-boot-dependencies 2.7.6 shiro-spring-boot 1.13.0 问题项目启动报错解决方式排除掉ShiroConfig配置、注解、yml、依赖版本等问题后,尝试了网友们的方法,没有解决问题。最终我的解决方式是使用shiro-spring替换shiro-spring-boot-web-starter依赖

2024-04-09 09:13:40 886 1

原创 Druid 1.2.3 discard long time none received connection原因及解决方法

discard long time none received connection异常的解决方法

2022-06-22 16:57:35 2811

原创 解决org.elasticsearch.bootstrap.StartupException: ElasticsearchException[failed to bind service]

问题docker:20.10.8elasticsearch:7.14.0使用docker搭建es时报错ElasticsearchException[failed to bind service]"stacktrace": ["org.elasticsearch.bootstrap.StartupException: ElasticsearchException[failed to bind service]; nested: AccessDeniedException[/usr/share

2021-08-17 11:40:17 11537 3

原创 Element级联选择器Cascader使用(保存、回显)

环境 版本 idea 2020.1 Element-UI 2.13.2 vue 2.6.11 官方文档https://element.eleme.cn/#/zh-CN/component/cascader业务场景 业务需求要给设备选择存放位置,用select做四级联动比价麻烦,选择用级联选择器。后端表结构分为库房、库区、存放区、存储位置四个字段存储,所以前端需要处理一下。整合主要部分代码v-model 回显数据源(设置默认值):...

2021-07-17 11:15:09 6954 3

原创 Spring Boot项目部署至Docker(使用Ip连接MySql容器)

准备本篇文章是在Spring Boot项目部署至docker基础上修改整合Mybaits Plus完成,不了解如何使用Mybatis Plus的可以参考Spring Boot整合Mybatis-Plus(附代码生成、VM模板)环境环境 版本 Idea 2020.1 Docker 20.10.2 Cent OS 8 VMware Workstation Pro 15 Spring Boot 2.4.5 Mysql ...

2021-06-30 10:00:02 737 1

原创 MySql 8.x java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed

问题使用mybatis plus逆向生成实体类CodeGenerator远程连接mysql 8.0时报错Exception in thread "main" java.lang.RuntimeException: java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed at com.baomidou.mybatisplus.generator.config.DataSourceConfig.

2021-06-30 09:34:08 1019

原创 Python3 SyntaxError: Non-UTF-8 code starting with ‘\xe3‘ in file xxx.py

问题SyntaxError: Non-UTF-8 code starting with '\xe3' in file test.py on line 8, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for detailsProcess finished with exit code 1大意:以 '\xe3' 开头的非 UTF-8 代码,但未声明编码解决方式第一行增加# -*- cod...

2021-06-24 10:28:39 3552

原创 Docker部署Mysql8

环境环境 版本 Idea 2020.1 Docker 20.10.2 Cent OS 8 VMware Workstation Pro 15 Mysql 8 部署拉取镜像[admin@bogon ~]$ docker pull mysql:8或者[admin@bogon ~]$ docker pull mysql:latest拉取完成后检查是否成功[admin@bogon ~]$ docker images创建数

2021-06-23 11:23:58 399 1

原创 Cent OS 8解决开机网卡未启动

问题Cent OS8开机启动后网卡未正常启动,未显示网络连接,无网络连接选项排查[admin@localhost ~]$ ifconfig发现没有ens33网卡[admin@localhost ~]$ ifconfigdocker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether 02:42:da:73:b2:35 txqueuelen 0 (Ethernet) RX ..

2021-06-22 09:47:49 1397 2

原创 Spring Boot项目部署至docker

环境环境 版本 Idea 2020.1 Docker 20.10.2 Cent OS 8 VMware Workstation Pro 15 Xftp 7

2021-06-18 16:04:24 426 1

原创 Idea使用证书远程连接Linux Docker

环境环境 版本 Idea 2020.1 Docker 20.10.2 Cent OS 8 VMware Workstation Pro 15 Xftp 7 Docker插件先在idea中安装docker插件,选择File->Settings...->Plugins在Marketplace搜索框中输入docker查询,然后选择install安装成功后选择Build,Execution,Deployment-&gt.

2021-06-10 15:54:10 716

原创 Spring Boot整合Admin

pom<properties> <java.version>11</java.version> <spring-boot-admin.version>2.3.1</spring-boot-admin.version> </properties> <dependencies> <dependency> <group.

2021-06-08 11:54:12 4367 1

原创 解决Git push报错Unable to access ‘xxx‘: Failed to connect to github.com port 443: Timed out

wen

2021-06-02 11:10:26 1703

原创 Mybatis查询传递Map参数

使用场景mybaits传递Map查询数据,choose里面的判断根据自己的map参数类型自行使用,这里传的value是Object类型,这里用不到<select id="getObjectByMap" parameterType="map" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from s_

2021-05-12 10:10:08 1683

转载 硬核!15张图解Redis为什么这么快

作为一名服务端工程师,工作中你肯定和 Redis 打过交道。Redis为什么快,这点想必你也知道,至少为了面试也做过准备。很多人知道Redis快仅仅因为它是基于内存实现的,对于其它原因倒是模棱两可。那么今天就和小莱一起看看:图注:- 思维导图 -基于内存实现这点在一开始就提到过了,这里再简单说说。Redis 是基于内存的数据库,那不可避免的就要与磁盘数据库做对比。对于磁盘数据库来说,是需要将数据读取到内存里的,这个过程会受到磁盘 I/O 的限制。而对于内存数据库来说,本...

2021-03-10 15:59:45 190

转载 Docker容器实战之数据持久化+网络模式+资源限制

docker容器数据持久化的三种方式docker提供三种方式将数据从宿主机挂载到容器中:volumes: Docker管理宿主机文件系统的一部分(/var/lib/docker/vollumes)保存数据的最佳方式。bind mounts: 将宿主机上的任意位置的文件或者目录挂载到容器中。tmpfs::挂载存储在主机系统的内存中,而不会写入主机的文件系统。如果不希望将数据持久存储在任何位置,可以使用tmpfs,同时避免写入容器可写层以提高容器性能。dockervolumecre..

2021-03-01 08:40:48 247

转载 深度介绍分布式系统原理与设计

1 概念 1.1 模型 1.2 副本 1.3 衡量分布式系统的指标 2 分布式系统原理 2.1 数据分布方式 2.2 基本副本协议 2.3 Lease 机制 2.4 Quorum 机制 2.5 日志技术 2.6 两阶段提交协议 2.7 MVCC 2.8 Paxos协议 2.9 CAP 1 概念1.1 模型节点在具体的工程项目中,一个节点往往是一个操作系统上的进程。在本文的模型中,认为节点是一个完整的、不可分的整体...

2021-02-23 10:53:05 535

原创 Cent OS 8安装Docker

移除旧版本$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate

2021-01-28 16:10:41 664

转载 关于操作系统内存管理的8个问题

什么是物理内存?我们常说的物理内存大小就是指内存条的大小,一般买电脑时都会看下内存条是多大容量的,话说如果内存条大小是100G,那这100G就都能够被使用吗?不一定的,更多的还是要看CPU地址总线的位数,如果地址总线只有20位,那么它的寻址空间就是1MB,即使可以安装100G的内存条也没有意义,也只能视物理内存大小为1MB。使用物理内存有什么缺点?这种方式下每个程序都可以直接访问物理内存,有两种情况:1.系统中只有一个进程在运行:如果用户程序可以操作物理地址空间的任意地址,它们就很容易在不经

2021-01-11 08:57:31 704

原创 Cent OS 8安装RabbitMQ

安装erlang由于rabbitmq是基于erlang语言开发的,所以必须先安装erlang。查看yum库是否有erlang[root@bogon ~]#yum listerlang*如果有就直接安装,如果没有则需要去官网或github下载后再安装查看对应版本安装之前先看下rabbitmq与erlang对应版本点击进入官网我这里yum库里面erlang版本为22,所以我需要安装3.8.9版本rabbitmqyum安装erlang[root@bogon ~...

2020-12-30 17:44:59 376

原创 Cent OS 8安装mysql8

查看是否安装mysql[admin@bogon ~]$ whereis mysql如果当前系统已安装mysql就会展示mysql路径[admin@bogon ~]$ whereis mysqlmysql:查看当前yum库里的mysql[admin@bogon ~]$ yum list mysql*安装[admin@bogon ~]$ yum install mysql-server.x86_64 查看是否安装成功[admin@bogon ~]$.

2020-12-29 17:01:36 367

原创 Spring Boot整合websocket

什么是websocket长链接技术介绍说到websocket,必须讲到在它之前的各种长链接技术,比如轮循,长轮循,sse等。长链接顾名思义,就是让客户端浏览器与服务器端保持长久的连接,并能持续通讯,它还有一个特点,就是反向ajax,或叫服务器推技术。也就是说,服务器端也能通过这些手段实现向客户端推送的技术,比如,在现实应用中,看到的股票数据实时更新,这是通过这种技术来实现的。因为服务器端无法主动的向客户端推送数据,只能通过客户端连接上服务器端,然后被动地推送数据,这些连接到服务器端或者服务器端向客户

2020-12-26 14:04:19 2179 1

原创 Spring Boot使用@Async实现异步调用

pom <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>springboot启动异步任务需要在启动类加上@EnableAsync注解, 在方法或类上加上@Asy

2020-12-26 11:59:26 749 2

原创 Spring Boot整合CXF发布、调用WebService接口

一、webservice 的概念Web是使应用程序可以与平台和编程语言无关的方式进行相互通信的一项技术。Web 服务是一个软件接口,它描述了一组可以在网络上通过标准化的 XML 消息传递访问的操作。它使用基于 XML 语言的协议来描述要执行的操作或者要与另一个 Web 服务交换的数据。一组以这种方式交互的 Web 服务在面向服务的体系结构(Service-Oriented Architecture,SOA)中定义了特殊的 Web 服务应用程序。简单的说WebService是一个SOA(面向服务的编.

2020-12-17 17:49:53 6397

原创 Spring Boot整合Spring Aop

什么是AOP?让我们首先定义一些核心的AOP概念和术语。这些术语并非特定于Spring。不幸的是,AOP术语并不是特别直观。然而,如果Spring使用自己的术语,则会更加令人困惑。方面(Aspect)︰跨越多个类的模块化关注点。事务管理是企业Java应用程序中横切关注点的一个很好的例子。在SpringAOP中,方面是通过使用常规类(基于模式的方法)或使用@Aspect注解(@Aspectj样式)注解的常规类来实现的。 连接点(Join point)︰程序执行过程中的一点,如方法的执行或异常的处.

2020-12-14 13:44:16 733

原创 Spring Boot整合shiro

pom<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.22</version> </dependency> <!-- https:

2020-12-10 17:50:39 233

原创 Spring Boot 整合Thymeleaf

pom <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <group

2020-12-09 16:16:58 180

原创 解决浏览器隐私链接“NET::ERR_CERT_AUTHORITY_INVALID“

问题相信大家都遇到过这种问题,访问某个网站(无论正经 or 不正经)偶尔都会弹出此页面此时要么是关闭此网页,要么是继续前往。偶尔一两次还行,如果次数多了就会很烦人解决方式地址栏输入:chrome://net-internals/#hsts回车找到Delete domain security policies在Domain输入框里把刚才被阻挡的网站域名粘贴到此处,然后点击Delete按钮重启浏览器,重新进入刚才被阻挡的页面,此时就会发现没有被阻挡HSTS扩展..

2020-12-09 15:03:39 24083

转载 史上最详 Thymeleaf 使用教程

基础语法文本标签 th:text/th:utext用于文本内容的显示操作。th:text进行文本替换 不会解析html th:utext进行文本替换 会解析html代码演示: @RequestMapping("/th") public String th(Model model){ String msg = "<h1>我是h1</h1>"; model.addAttribute("msg",msg); return "/course/th";..

2020-12-08 11:41:42 1169

原创 Spring Boot整合Spring Cache

环境Spring Boot 2.4.0 Jdk 13 Idea 2020.1 Redis-x64 3.2.100 RedisDesktopManager 2020.4 Redisredis windows下载:https://github.com/MicrosoftArchive/redis/releases百度云盘:点击下载提取码:s2cu下载完成后直接解压至自定义目录RedisDesktopManager百度云盘:点击下载.

2020-12-07 13:51:07 462

原创 Cent OS 8安装Redis

总结[admin@bogon ~]$ sudo yum install redis -y·································此处省略N字································运行事务 准备中 : 1/1 运行脚本: redis-5.0.3-2.module_el8.2.0+318+3d7e67ea.x86

2020-12-02 14:45:27 345

原创 Cent OS 8安装JDK

检验JDK未安装[admin@bogon ~]$ java -versionbash: java: 未找到命令...[admin@bogon ~]$ rpm -qa | grep java[admin@bogon ~]$ 已安装如果有默认的jdk,请使用下面命令卸载[admin@bogon ~]$ yum -y remove java-1.8.0-openjdk-headless.x86_64安装JDK[admin@bogon ~]$ yum list java*..

2020-12-01 17:34:22 484

原创 Cent OS 8更换yum源为阿里云镜像

命令[admin@bogon ~]$ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup[admin@bogon ~]$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo--2020-12-01 16:29:01-- http://mirrors.aliyun.com/.

2020-12-01 16:51:47 1664

H+4.9后台框架.zip

H+是一个完全响应式,基于Bootstrap3.3.4开发的扁平化主题,她采用了主流的左右两栏式布局,使用了Html5+CSS3等现代技术,她提供了诸多的强大的可以重新组合的UI组件,并集成了jQuery版本(v2.1.1),当然,也集成了很多功能强大,用途广泛的jQuery插件,她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等

2020-09-17

win7专业版x64虚拟机.txt

win7 x64专业版虚拟机,下载完成解压可直接在VMware Workstation Pro打开使用,内附下载链接,亲测可用。

2020-04-10

SqlServer2008 express R2安装配置说明.zip

SqlServer2008 express R2在win xp、win 7、win 10完整安装说明,内附安装包链接,亲测皆安装成功

2020-04-10

javaSNMP获取设备数据.zip

java编写SNMP获取设备各类型数据客户端,运行exe可查看设备流量等数据,建议先了解SNMP后再使用

2019-09-02

Mono-Design.7z

Mono Design是一款可以快速创建、编辑与设计3D产品的工具,初学者慎用。

2019-06-26

bootstrap fileinput文件上传插件js、css

bootstrap fileinput文件上传插件所用fileinput.min.js、fileinput.min.css、zh.min.js,注意zh.min.js一定要放在fileinput.min.js后面引入,否则报错失效

2019-06-20

aspose-words所用jar包

Aspose对Word文档转换所用的Jar包,包含aspose-words-16.4.0.jar、aspose.words.jdk16-7.0.0.jar

2019-06-13

富文本编辑器插件-wysiwyg.js

利用wysiwyg.js开发的一款十分强大的、jQuery富文本编辑器插件,经过优化后的富文本框,打开速度非常快,无报错,不影响其他任何功能。

2019-05-14

海康视频接口demo

demo实现了海康监控的调用,具体实现方法可以参见里面的说明

2019-03-21

rxtx串口通信

包含java rxtx串口通信所需jar dll,附带一个串口通信demo,配置好可直接启动,代码中有详细注释

2019-03-13

html5media.js

html5中Video,audio标签兼容各主流浏览器,适应IE8以上浏览器

2019-02-22

HTML5 WebGL 3D 仓储管理系统

基于HTML5 WebGL 3D仓储系统Demo,使用范围还很广!ht.js评论留言邮箱地址,看到留言会发送至邮箱

2019-02-22

java微信公众号开发

springboot项目java开发微信公众号,有网页授权、事件推送、获取用户信息、图片、语音、文字、百度翻译接口,配置好可直接启动,项目内有详细注释

2019-02-22

Sublime text

sublime text3的package_control包,完全符合sublime text3

2019-02-22

微信公众号及小程序开发

微信公众号及微信小程序开发流程讲解,新手必看,讲解微信开发基本流程

2019-02-19

PyQt5快速开发与实战(PDF+配套源码)

《PyQt5快速开发与实战》既是介绍PyQt 5的快速入门书籍,也是介绍PyQt 5实战应用的书籍。PyQt 5是对Qt所有类的Python封装,既可以利用Qt的强大功能,也可以利用Python丰富的生态圈,同时能够结合Python简洁的语法进行操作,其结果就是使用PyQt 5可以高效、简单地开发出自己想要的程序。《PyQt5快速开发与实战》内容丰富,对PyQt 5基础知识的介绍比较全面,同时对新手使用PyQt 5的一些重点、难点都有专门的章节进行针对性分析,还重点介绍了如何把Python的一些重量级模块(Pandas、Matplotlib和Plotly)嵌入到PyQt 5中,从而极大地节约开发时间。最后,《PyQt5快速开发与实战》给出一些综合性较强的实战案例,帮助读者快速掌握PyQt 5的实战应用。 总而言之,《PyQt5快速开发与实战》旨在帮助读者以最短的时间掌握PyQt 5的基础知识并能够实战应用,希望《PyQt5快速开发与实战》对有Python程序开发需求的读者有帮助。 目录 第1章 认识PyQt 5 1 第2章 Python基本语法 41 第3章 Qt Designer的使用 64 第4章 PyQt 5基本窗口控件 122 第5 章 PyQt 5高级界面控件 221 第6章 PyQt 5布局管理 294 第7章 PyQt 5信号与槽 317 第8章 PyQt 5图形和特效 373 第9章 PyQt 5扩展应用 412 第10章 PyQt 5实战一:经典程序开发 489 第11章 PyQt 5实战二:金融领域应用 502

2018-12-21

PyQt5快速开发与实战(PDF+配套代码)

《PyQt5快速开发与实战》既是介绍PyQt 5的快速入门书籍,也是介绍PyQt 5实战应用的书籍。PyQt 5是对Qt所有类的Python封装,既可以利用Qt的强大功能,也可以利用Python丰富的生态圈,同时能够结合Python简洁的语法进行操作,其结果就是使用PyQt 5可以高效、简单地开发出自己想要的程序。《PyQt5快速开发与实战》内容丰富,对PyQt 5基础知识的介绍比较全面,同时对新手使用PyQt 5的一些重点、难点都有专门的章节进行针对性分析,还重点介绍了如何把Python的一些重量级模块(Pandas、Matplotlib和Plotly)嵌入到PyQt 5中,从而极大地节约开发时间。最后,《PyQt5快速开发与实战》给出一些综合性较强的实战案例,帮助读者快速掌握PyQt 5的实战应用。 总而言之,《PyQt5快速开发与实战》旨在帮助读者以最短的时间掌握PyQt 5的基础知识并能够实战应用,希望《PyQt5快速开发与实战》对有Python程序开发需求的读者有帮助。 目录 第1章 认识PyQt 5 1 第2章 Python基本语法 41 第3章 Qt Designer的使用 64 第4章 PyQt 5基本窗口控件 122 第5 章 PyQt 5高级界面控件 221 第6章 PyQt 5布局管理 294 第7章 PyQt 5信号与槽 317 第8章 PyQt 5图形和特效 373 第9章 PyQt 5扩展应用 412 第10章 PyQt 5实战一:经典程序开发 489 第11章 PyQt 5实战二:金融领域应用 502

2018-12-21

web高德demo(ip定位,简易圆形电子围栏(圆可编辑可移动),省份范围查询,点击地图显示经纬度地址信息,获取marker处地址位置信息)

使用js+jQuery编写简单web高德地图demo,具体功能有 距离测量、ip定位(浏览器定位)、行政区域查询、单击地图获取位置信息、获取marker点处位置信息、简易圆形电子围栏(圆可编辑大小、可移动位置)、右键菜单、中英对照、卫星地图 *简易电子围栏显示圆+开启路线回放+开始动画 启动 刷新地图可清空地图,刷新后需要刷新页面才能继续显示圆 地图上右键添加marker数量最多存在一个,添加后默认marker为地图中心点 距离测量在双击鼠标或右键点击之前可以一直添加测量点 打开页面后页面上方有个几乎透明的功能模块白色字体,鼠标悬停即可打开具体菜单(仔细观察才能看到)

2018-06-23

高德地图web多边形电子围栏demo

高德web端实现多边形电子围栏demo 地图上点三个点形成多边形区域,可以通过拉拽添加点的形式添加边的数量 可判断marker是否在多边形区域区域内(jQuery需要自己添加)

2018-06-09

js实现上传excel解析返回json到页面显示

js实现excel文件上传解析,返回json并显示到页面 支持两种格式

2018-06-09

springMVC poi解析ajax上传excel文件,返回json对象\list数组

poi解析excel功能参数说明 此项目是基于springMVC实现的,基本流程为从前台jsp页面使用Ajax文件上传导入excel文件(.xls(97-03)/.xlsx(07以后)),传到后台controller调用相应工具类解析后返回指定参数做后续处理. 1. POIUtil.java工具类 解析通过MutilpartFile导入的Excel并解析里面数据,先判断文件的类型(excel处理有两种此处为两种通用)是.xls/.xlsx,通过workbook.getNumberOfSheets()获取工作簿数量,遍历工作簿,sheet.getLastRowNum()获取最大行数,将每行数据放入List list = new Array List(),并根据excel数据类型将器转换为字符串、数字、Boolean、公式、空值类型防止出现错误,最后返回一个list. 2. ExcelUtil.java工具类 解析通过MutilpartFile导入的Excel并解析里面数据,先判断文件的类型(excel处理有两种此处为两种通用)是.xls/.xlsx,采用Apache的POI的API来操作Excel,读取内容后保存到List中,再将List转Json(使用Linked,增删快,与Excel表顺序保持一致),Sheet表1————>List1<Map> 步骤1:根据Excel版本类型创建对于的Workbook以及CellSytle 步骤2:遍历每一个表中的每一行的每一列,这里做了些小改动,因为后续可能解析过后可能会保存入数据库,这里为第一行数据添加一个自定义表头 String[] p = new String[]{"name","age","sex","tel","address","e-mail","phone"}; 遍历的列数量以p的length为准 步骤3:一个sheet表就是一个Json,多表就多Json,对应一个 List 一个sheet表的一行数据就是一个 Map 一行中的一列,就把当前列头为key,列值为value存到该列的Map中 Map 一个线性Hash Map,以Excel的sheet表顺序,并以sheet表明作为key,sheet表转换Json后的字符串作为value 最后返回一个LinkedHashMap 3. ExcelToJsonPoi.java工具类 这个与上面工具类类似,不过这个是解析本地excel文件不是使用的流,使用迭代遍历sheet工作簿与每行每列的值,将所有类型作为String类型处理返回一个json对象输出至控制台

2018-06-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除