- 博客(77)
- 资源 (34)
- 收藏
- 关注
原创 慢sql优化总结
项目中由于前人写的上古SQL,加上业务数据量逐渐增加,导致SQL效率急剧下降,故结合阿里云的PolarDB产品分析相关线上慢SQL日志,进而优化解决经整理分析,此次sql性能问题主要凸显以下几点: 1.数据量巨大,存在单表数据量超过1亿的数据,且很多单表体积在几千万的数据互相之间关联查询 2.历史索引创建问题,新业务产生时未及时结合全场景进行索引更新,频繁创建新的索引,各个索引的排列未使得效率最大化且浪费磁盘空间,且多索引情况下判断索引命中索引需要更多的时间,极有可能锁表...
2020-11-12 10:18:43 565
原创 POI之HSSF,XSSF,SXSSF,PDF循环写入分页
针对POI3.9jar包中的相关工具类HSSF,XSSF,SXSSF的理解,以及PDF实现循环写入及分页的实现 需求如下: 根据接口传递的相关数据,导出一定样式(合并行列,上色,加粗,循环写入)的表格,行数视数据量多少而定 原有结构: 假定100个人 100份数据分100个excel导出,采用HSSFWorkbook类导出 接下来逐步由此产生问题进而解决:改造原有写入逻辑,传入HSSFWorkbook参数在循环外层一直持有,...
2020-11-11 18:14:49 1194
原创 SpringBoot处理内外事务及线程ID使用
1.SpringBoot处理内外事务 场景如下: 某个接口,内部会调用其他多个接口,这些接口属于同一个事务下,统一回滚或提交,在出异常的情况下,需要修改其他数据的订单状态,所以事务的一致性是不能保证的,需要对事务级别进行限制 解决方式: 1.设置独立事务,给同一事务下的方法设置自己的独立事务,自己提交或者回滚,不知道啥问题,楼主测试后无效@Tra...
2019-09-09 18:02:56 3710
原创 SpringBoot记录请求返回日志
SpringBoot监控请求响应日志,可以借此分析了解项目中的相关性能,安全方面的问题,开发人员也可以方便的拿取日志进行排错检查问题等一系列操作。 1.思考--request请求和rsponse请求都只能拿一次body体里面的参数,怎么办? 2.记录哪些数据? 3.拿到的日志数据如何存储? 4.实现方式? 5.是否有实...
2019-08-22 15:26:10 3345 1
原创 全民付二维码对接
由于业务需要,我们公司最近开始对接新的一款二维码---全民付二维码,其实归根结底就是对银联接口进行了二次封装,然后在自己的基础上做了一些改变推出的一款二维码,对接流程相对简单,接下来我来介绍一下对接全民付二维码的过程 准备工作: 1.银联商务平台地址:https://open.chinaums.com/ ...
2019-05-24 11:03:26 4715 21
原创 selenium+Java+IDEA集成自动化测试
selenium是一个应用于web应用程序测试的框架,可以模拟终端客户在实际运用中的场景。本篇博客将介绍selenium的基本测试API,自动化截图,生成测试报告等功能。 具体博客流程如下:selenium基本属性介绍 selenium确定界面元素的几种方法 selenium自动截图 selenium生成测试报告1.selenium基本属性介绍 selenium运...
2019-04-04 16:38:53 6231
原创 vue高级特性之界面传值(父子界面,兄弟界面,非父子界面),路由配置,get传参
此篇文章是在idea前后端分离demo博客后,对其中的一些特性进行学习和积累。1.父组件给子组件传值 新建Home.vue组件和Header.vue组件,其中Home.vue组件为父组件,后者为子组件 其中最主要的步骤如下:父组件引入子组件并用标签声明 父组件需要给子组件传递哪些数据(可以传递普通数据,方法,实体等) 子组件用props数组进行接收----p...
2019-04-01 16:09:40 1035
原创 idea开发vue并实现前后台分离请求示例
Vue的魔力对我而言还是挺大的,用官网的六个字概括就是:易用,灵活,高效。既然如此,那就开始展示我在idea集成vue环境和实现前后端分离调用时的坑吧。本文分为三大步骤:idea集成vue(解决集成中的问题和冲突) 实现应用发布 前后台分离并实现互联互通1.idea集成vue(解决集成中的问题和冲突)第一步,安装vue.js的插件第二步:安装vue_cl...
2019-03-19 18:27:20 6558 1
原创 POI导出数据并上色
针对POI中的后台遍历,存值取值,逐行上色,合并列,在这一次的项目经历中有所学习。 需求:针对给出的大致模板,后台生成excel文件,对某些列进行合并,对某几种条件下的数据进行颜色标注 解决思路:1.根据导出模板,查询出需要导出的数据sql。 2.将表头给定义出来,由于是大致模板,初始化表头有利于后期改动 ...
2019-02-25 17:55:04 556
原创 微信支付-----统一下单接口对接
本以为没有机会接触鼎鼎大名的支付宝和微信接口(公司本身是做第三方支付的),最近由于一个售货机项目需要对接银联,支付宝和微信接口,因为我自身已经对接了银联,之后根据安排,由我对接微信的相关接口。话不多说,让我们开启踩坑之旅。 对接微信支付接口准备工作: 1.微信支付文档地址:https://pay.weixin.qq.com/wiki/doc/api/native.p...
2018-11-30 16:32:39 9325 6
原创 excel导入及验证
不管你用什么前端框架,excel的导入就和导入文件格式一样,只不过要判断文件后缀格式属于哪一种。这边先集成一个工具类,稍作修改后便可以直接使用,当然,我这里会做相应的检查和优化。 1.准备 1.准备好相关的依赖,这里需要poi和poi-ooxml两个jar包,版本是3.17 <dependency> <group...
2018-10-23 11:10:07 4201 2
原创 银联付款方联调测试
此篇文章为《对接银联仿真测试系统》一文的下一步,和银联进行联调测试,这里记录一些心得和技巧。 银联本地仿真测试通过后,可以向服务代表进行申请,填写一系列表格后会通知我们具体时间和专门的测试人员来配合我们来进行联调测试。联调测试时间为10个工作日内免费,内容大体分为三部分----测试标准测试案例,测试全量测试案例,测试绑卡案例(两个)。需要全部测试完成通过后方可代表测试完成,测试完成会生...
2018-10-22 15:13:52 1746 4
原创 付款方对接银联入网仿真测试系统
对接银联的相关接口是有一整套流程的,其中我所负责的是银联扫码接口对接。 简介 明确对接时的个人定位,其中,大方向上分为付款方,收款方和银联,付款方分为付款方(付款银行)和付款方移动应用前置方(对接单位),收款方为商户或者其他企业。此次我所对接的是以付款方移动应用前置的身份对接的银联入网仿真测试系统。 对接流程 1.获取银联扫码的相关接口文...
2018-09-13 15:17:42 5855 10
原创 Git,GitLab应用
1.版本管理工具大方向上可以分为集中式和分布式,集中式的典型代表是CVS,SVN等版本管理工具,分布式则以git,github,gitlab三大巨头为典型,由于学习和工作中的种种需要,现在开始尝试适应git的版本管理工具。2.分布式管理工具----Git的优点 1、适合分布式开发,强调个体; 2、公共的服务器压力和数量都不会太大; 3、速度快, 成熟的架构,开发灵活; 4、任意两个开发者之...
2018-06-05 16:41:59 614
原创 IDEA开发插件
使用IDEA开发,和Eclipse相比还是具有一定的优势,其中就包括它强大的插件库。在开发过程中,我将整理的几款比较好的IDEA的插件进行分享。1.grep consolejava 开发的过程中,日志都会输出到console,输出的内容是非常多的,所以需要有一个工具可以方便的查找日志,或者可以非常明显显示我们关注的内容,grep console就是这样的一个工具。安装完成后,在console中右键...
2018-05-08 16:09:36 1903
原创 filebeat收集日志+kibana配置索引检索规则
整体流程--filebeat收集日志后 kibana对收集的filebear日志做可持续化的分析前置--ELKB安装(Elasticsearch+logstash+kibana+filebeat)_T_james的博客-CSDN博客本篇博客主要是为了搭建ELKB的运行环境 旨在对线上多台服务器的日志进行获取分析 解决日常运行查看中的痛点 前置准备:1.安装jdk环境--java -version2.下载相关的压缩包或者获取对应的rpm文件 本文采取前者 官网tar下载路径:Elasticsearch.
2021-11-23 15:51:03 3376
原创 ELKB安装(Elasticsearch+logstash+kibana+filebeat)
本篇博客主要是为了搭建ELKB的运行环境 旨在对线上多台服务器的日志进行获取分析 解决日常运行查看中的痛点 前置准备:1.安装jdk环境--java -version2.下载相关的压缩包或者获取对应的rpm文件 本文采取前者 官网tar下载路径:Elasticsearch:官方分布式搜索和分析引擎 | Elastichttps://www.elastic.co/cn/elasticsearch/3.机器须大于4G内存 否则相关实例运行会报错4....
2021-11-22 13:58:15 1721
原创 第三方人社接口对接
近期在和各地人社监管部门提供的接口进行对接,记录如下 背景:企业需要在人社监管部门的干预下完成相关的线上培训,故学习平台需要对接相关的人社监管接口,及时上送相关数据保证和监管的同步 大致流程:监管需要掌握对应的学习数据 故需要在实名认证 人脸识别 视频录制 防挂机验证等方面进行相应监管和限制 学习平台需在对应的时间段和标准下上送相关数据 目前已经对接了天津人社和广东人社的相关需求,主要繁琐点在以下几个地方: 1.人脸...
2021-02-26 18:57:35 1530
原创 初识JMeter
JMeter作为Apache的一款的开源项目,是一个纯Java桌面应用,用于压力测试和性能测试。它最初设计用于Web应用测试后来扩展到其他测试领域。 下载:http://jmeter.apache.org/download_jmeter.cgi 文件位置---直接双击启动 界面 开始测试第一步...
2019-12-20 13:34:09 566
原创 springboot启动时执行任务之CommandLineRunner
对接微信小程序接口时,在项目重新启动时需要将数据库的openId批量缓存到redis中,便于后面的业务处理,此处用到了CommandLineRunner接口,通过实现这接口中的run方法便于我们进行相关的业务逻辑代码的处理。 如果有多个启动任务呢,我们只需要加上@order注解表明执行加载顺序即可依次执行了。 任务一:项目重新启动清除数据字典并加载最新字典...
2019-12-03 10:56:37 581
原创 mybatis之in和charindex的使用
mybatis之in的使用 大家在一条sql中传入多个查询数据时都会使用的in关键字,可是在sql中明明好好的执行,到了程序中要么报错要么查询为空。原因在于在mybatis中,默认in属性为传递多个数据,则需要遍历循环去读取,外部通过数组或者集合的方式传入,示例如下 Java调用代码 String[] cIdArrays = cId.split(","); L...
2019-10-17 17:19:11 975
原创 短信发送工具类
由于发送短信的内容是动态的,导致短信内容的参数需要进行替换,且短信签名的相关信息也需要动态生成,特在此记录。 短信参数模板如下:亲爱的用户,你的火车票已出票成功,取票号为[0]。[1][2]出发[3]-[4],[5]车次[6],[7],请合理安排出行时间 动态获取参数内容并依次填充到相应位置public class ParseUtil{ ...
2019-10-14 16:49:59 500
原创 初识MongoDB+Java调用
MongoDB开发前准备工作: 准备MongoDB环境 MongoDB下载地址:下载MongoDB,由于官网实在太慢,大家可以转向我这里下载 教程地址:https://www.runoob.com/mongodb/mongodb-tutorial.html(建议边看边实战) 最终集成Java环境需要相关JDK,大家可以转向官网下载即可关系型数...
2019-08-13 15:50:20 872
原创 sqlserver 知识点积累
1.mybatis在只传入一个参数的情况下,并且该参数不为空,需要用‘_parameter’参数值来代替,否则值取到的会不一致<select id="courseMenuTreeNode" parameterType="java.lang.Integer" resultMap="BaseResultMap"> select <include ...
2019-07-31 10:46:03 446 1
原创 生成Excel表格并上传阿里云存储
1.程序内部生成Excel表格 1.1 表头和数据分离 //表头存储格式List<String[]> headerGoodsOrderListString[] h1 = new String[2]; h1[0] = "id"; h1[1] = "序号"; headorder.a...
2019-06-21 16:38:21 7119
原创 SpringBoot中拦截器的运用(验证某些请求的时间戳和RSA签名)
SpringBoot中实现拦截器,需要继承WebMvcConfigurerAdapter类,这个类中实现了webMvcConfig接口的抽象类,其次我们可以实现该类中相应的抽象方法。 @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInter...
2019-03-18 13:47:35 4438 2
原创 工商银行二维码业务开发
继微信收款码之后,迎来了又一个新的对接支付方式---工商银行收款码支付 准备工作: 1.获取工行API在线文档地址:https://open.icbc.com.cn/icbc/apip/api_list.html 2.拿到相应的业务参数,包括publicKey,privateKey,appId,merId,storeCod...
2019-01-21 14:06:08 8208 14
原创 Redis数据类型
在项目中使用redis,主要是从性能和并发两个维度去考虑。试想一下,一条冗长的sql语句或者存储过程在数据库中执行一次需要1分钟以上,且该sql是高并发下的使用场景,如果以这样的响应速度,那是万万达不到要求的,所以,这里就要采用redis进行预加载缓存,这里我就不说怎么运用redis了,主要说说redis中如何存储多种形式的数据。 redis缓存中主要使用的类和集合主要涉...
2019-01-07 15:05:03 552
原创 3Des加密
使用3Des加密算法前,我们需要了解一下当前主流的加密模式:单向加密和双向加密,两者最大的区别在于加密的密文是否具有可逆性。 单向加密:将需要加密的数据进行加密,并且密文不可进行解密,像我们常用的加密算法MD5就属于这种。 双向加密:和单向加密不同的是可以通过某些方式进行加解密的操作,其中分为对称加密和非对称加密。 对称...
2019-01-03 11:00:23 4451 1
原创 微信支付-----申请退款和退款通知接收
这一篇博客跟着我上一篇博客的思路和流程继续,如果想看上一篇博客的童鞋,可以点击微信支付----统一下单接口对接进行阅读,本篇博客将介绍申请退款和退款通知两个接口的开发。一,申请退款接口 注意点:此处需要使用证书,Java版本的话只需要导入apiclient_cert.p12格式的证书即可,其他版本请参考微信官方文档 必须要当天先做交易才能退款,我的理解是每天微信都会...
2018-12-03 15:11:00 5931
原创 Lamaba表达式
Lamaba表达式是Java8提供的新特性之一,在Java 8里面,所有的Lambda的类型都是一个接口,而Lambda表达式本身,也就是”那段代码“,需要是这个接口的实现。这是我认为理解Lambda的一个关键所在,简而言之就是,Lambda表达式本身就是一个接口的实现。public class TestLamaba { public static void main(S...
2018-11-22 10:47:23 930
原创 SpringBoot分页插件PageHelper和lombook使用
一.pageHelper 对于使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,sqlserver数据库因为分组的原因还不得不嵌套重复的数据,如此重复下去会导致sql语句日益庞大。 pageHepler,springboot支持的一种分页体系,只需要导入相应的pom依赖,我们就...
2018-11-19 16:42:18 751
原创 网络编程---socket编程通信
一直感觉socket这个东西挺神秘的 ,觉得是大牛级别的才能驾轻就熟。今天碰巧看了一下socket的相关资料,通过socket实现客户端和服务端的通信,从实战中去体验socket的用处。 先给大家上一张图这张图大致就是tcp协议和udp协议的分布范围,其中,socket负责的是传输层之间的通信socket是基于应用服务与TCP/IP通信之间的一个抽象,他将TCP/IP协议里...
2018-11-15 17:08:11 464 1
原创 Echarts创建动态图表
偶然的机会,发现echarts可以制作比较精美的图表,进而小小学习了一下,也算知道了一些基本的常识,现与大家进行分享。 ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的 Canvas 类库 ZRender,提供直观,生...
2018-11-14 17:44:44 3917
原创 keytool生成RSA证书
生成RSA公钥私钥不仅可以通过代码去进行实现,还可以通过keytool去创建证书,进而用代码去读取证书中的公钥和私钥去进行加解密的操作。1.keytool生成RSA证书 1.管理员身份进入dos环境 运行 keytool -genkey 注意红框部分,生成的证书将会在这个路径下面运行后,会让你输入一系列名称,输入后尽量记住别输错,后面生成证书会用到,另外...
2018-10-25 18:25:44 4805 1
原创 从零搭建vue开发环境
写这篇博客之前,楼主是实打实的Java后端人员,偶尔用用js,jq这些前端框架实现前后台交互,用用一些ui控件画画图,仅此而已,所以去用vue这种前后端分离的开发模式非常的不适应,想想都觉得我这篇博客出来的多么心酸。 首先,既然是前后端分离的项目,那么就说明他们是用不同的工具进行的开发,只不过最后进行一个集成打包。后端就不说了,熟悉常用的idea和数据库即可。前端vue来讲,需要在本...
2018-08-13 16:48:56 787
原创 HTTPS请求方式工具类
调用第三方接口时发现这么一个现象,都说在某月某日停止对HTTP请求的维护,改为HTTPS方式的请求。我觉得我需要未雨绸缪一下,免得到时候自己忘记了给自己挖坑。这边记录一下我自己的HTTPS请求工具类。 有必要了解下HTTP和HTTPS两种不同请求的区别。 HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超...
2018-08-06 16:41:55 3345
SpringBoot学习
2017-12-27
两个SSM类型的项目
2017-09-07
spring4+mybaits3所有整合的jar包
2017-08-12
天津人社1版和2版接口文档
2020-11-30
generatorSqlmapCustom.zip
2020-04-17
中信银企通接口文档,客户端,测试报告模板
2020-04-16
365wenjianfenge-v3.0.zip
2020-04-13
全民付移动支付主扫.pdf
2019-05-24
微信退款回调AES解密--JDK8版本
2018-12-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人