自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 MySql分组取前几名的写法

1、准备测试数据create table tb(name varchar(10),val int,memo varchar(20)); insert into tb values('a', 2, 'a2(a的第二个值)') insert into tb values('a', 1, 'a1--a的第一个值') insert into tb values('a', 3, 'a3:a的第三个值') insert into tb values('b', 1, 'b1--b的第一个值') inser

2021-01-21 14:20:44 333

原创 Postgrel 取整函数、四舍五入函数和保留几位小数

Postgrel 取整函数、四舍五入函数和保留几位小数地址:https://postgres.fun/20140508101444.html四舍五入函数Function Return Type Description round(dp or numeric) (same as input) round to nearest integer round(v numeric, s int) numeric round to s decimal plac..

2020-12-30 10:57:58 9814

转载 HttpClient 进行 HTTPS 接口调用

因公司需求访问客户的接口去获取数据我首先使用了普通的http工具类去访问,得到这种异常sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid c...

2019-12-24 14:35:47 720

原创 mybatis if标签判断字符串相等

mybatis 映射文件中,if标签判断字符串相等,两种方式:因为mybatis映射文件,是使用的ognl表达式,所以在判断字符串sex变量是否是字符串Y的时候1、<if test="sex=='Y'.toString()">2、<if test = 'sex== "Y"'>注意:不能使用<if test="sex=='Y'">...

2019-12-10 16:15:17 233

原创 mybatis if-else(写法)

mybaits 中没有else要用chose when otherwise 代替其中choose为一个整体when是ifotherwise是else范例一<!--批量插入用户--><insert id="insertBusinessUserList" parameterType="java.util.List"> insert i...

2019-12-03 16:21:35 1717

原创 JSON格式转复杂对象(对象中有子对象)

1 可以使用com.alibaba.fastjson.JSON; 这个包<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version>&lt...

2019-09-26 14:09:47 2369

原创 mybatis踩坑小记

mybatis踩坑小记数据库查询没有结果,结果为:<select id="selectOrderIdNotIntegeration" resultType="java.lang.Long"> SELECT temp.order_id FROM t_order_entrust e LEFT JOIN (SELECT order_id,erp_co...

2019-09-17 15:37:07 226

原创 基于zookeeper实现分布式锁

1、添加zookeeper依赖 <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.13</version> ...

2019-08-27 17:29:54 207

原创 SpringBoot发送邮件

背景:邮件使用的场景:注册验证、网站营销、安全的最后一道防线、提醒、监控告警、触发机制 邮件发送的原理邮件传输协议:SMTP、POP3协议SMTP接力传送,注重传输POP3注重从邮件服务器上查看邮件IMAP 交互式邮件协议(对POP3的补充)Mime 邮件访问协议 SpringBoot发送邮件,工作中一般通过搭建邮件系统,或者做成微服务的接口形式(HTTP/...

2019-01-31 17:17:14 288

原创 二维码的生成与解析

二维码的生成和读取有以下几种方式:1、使用zxing的jar包https://github.com/zxing/zxing/releases       生成二维码:package com.imooc.zxing;import com.google.zxing.BarcodeFormat;import com.google.zxing.EncodeHintType;imp...

2019-01-30 15:27:56 692

原创 定时任务调度(Quartz篇)

Quartz是一个非常强大的定时任务调度工具,笔者就职的公司大数据部门专门以Quartz为基础开发出一套定时调度系统。可见Quartz功能的强大,实际工作中,大多数开发者都会使用Quartz来完成定时任务,而非Timer。 &lt;!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz --&gt;&lt;de...

2019-01-22 21:09:03 693

原创 定时任务调度(Timer篇)

Timer由JDK提供,可以实现简单的任务调度场景。Timer只有一个后台线程,所以在使用在注意其场合。定时器是异步执行,不影响定时器后面代码的运行!虽然一个Timer可以运行多个定时任务,但是一个Timer是串行运行Timer的使用禁区:1、对时效性要求比较较高的多任务并发作业    2、对复杂任务的调度Timer的缺陷:1、管理并发的缺陷以及任务之间的协同缺陷(因为后台只有一个线程...

2019-01-21 17:05:26 2644

原创 数字签名算法(RSA、DSA、ECDSA)

数字签名--带有密钥(公钥、私钥)的消息摘要算法,验证数据的完整性、来源和抗否认。私钥签名,公钥验证以下demo包含加签和验签的过程,供参考。JDK提供支持,无需导包1、RSA(经典,在消息摘要算法中同样使用)import org.apache.commons.codec.binary.Hex;import java.security.*;import java.se...

2019-01-19 01:38:22 3328 1

原创 非对称加密(DH、RSA、ELGamal)

非对称加密算法属于高等加密、双保险。以下demo演示各个算法的加解密过程DH密钥交换算法(需要构建本地密钥);RSA基于因子分解;ELGamal基于离散对数。均由JDK提供支持,无需导包。 其中RSA算法是唯一广泛接受并实现,成为事实上的标准。用于数据加密和数字签名。支持公钥加密、私钥解密和私钥加密、公钥解密 ELGamal因为运行速度较慢,仅作了解 1、DH...

2019-01-19 01:29:56 438

原创 对称加密算法(DES、3重DES、AES和PBE)

对称加密算法,就是公钥和私钥是一样的。这里主要有DES、3重DES、AES和PBE等,以下为各个对称加密算法的加解密使用方法,所有的类均引自JDK,无需另外导包(视情况可能需要阿帕奇的commons.codec包)。其中AES为目前使用最多的,因为安全性上从未被破解过。PBE是基于口令的加密,使用中要加入salt(盐--扰码)进行使用。 1、DESimport org.apa...

2019-01-19 00:47:47 929

原创 消息摘要算法(MD、SHA、MAC)

消息摘要是数字签名的核心算法,用于验证消息的完整性,通常称为“加签”,属于单向操作,不可逆转。以下主要介绍使用较为广泛的消息摘要算法的使用,包括MD、SHA、MAC等,以下消息摘要算法均引自JDK,无需另导包。 在工作中涉及到此处的知识,故在网上查找了一些资料,写下以下的demo,以作汇总! 1、MD (MD5由JDK提供 128位)import java.security...

2019-01-19 00:33:22 957

原创 Redis的使用工具方法类以及Redis锁的使用

 Redis在实际工作的几种使用方法,其中最吸引笔者的是Redis在分布式锁方面的应用。在第二段代码中我会贴出笔者在练习中苏哦用的代码/** * 功能描述: Redis的几种常用工具方法,其中Redis分布式锁注意setIfAbsent方法的使用 * @param: * @return: * @auther: Rhine * @date: 2018/11/12 23:42...

2018-11-12 23:52:13 412

原创 Redis分布式锁

可以起到@Synchronized的效果,但是比同步效果要好。比如在秒杀场景中等,使用中要先加锁,处理完业务代码后记得要解锁!@Component@Slf4jpublic class RedisLock { @Autowired private StringRedisTemplate redisTemplate; /** * 功能描述: 加锁 ...

2018-11-09 02:02:03 126

原创 MyBatis中对传入的不同参数的讨论(附带myBatis的几条小小总结心得)

在实际工作中可能会遇到需要在Dao的方法中传入不同参数的情况,根据各方面的资料的总结,大致可以归结于一下几种类型:1、基本数据类型(比如常用的String、Integer类型等,mapper中传入的应为基本类型)2、数组、List等单类型参数3、自定义的对象类(含有基本数据类型、复杂类型共存类型,也是工作中较为常见的一种情况,建议认真思考掌握) 首先,先看一下mapper中标签...

2018-09-11 22:52:33 461

原创 工作中的数据库实用小知识

1、执行多条INSERT语句时,最好使用一条语句插入多行,性能更好2、数据量较大时,两个单独索引比联合索引要好一点 

2018-08-21 01:36:14 273

原创 JS中解决网页编解码问题

 HTML的编码(转码)和解码(解码)在平时的开发中也是经常要处理的,在这里总结了使用的的的的JavaScript的处理HTML的编码(转码)和解码(解码)的常用方式。第一种方法:用浏览器内部转换器实现转换1.1用浏览器内部转换器实现HTML转码  首先动态创建一个容器标签元素,如DIV,然后将要转换的字符串设置为这个元素的的的的的的innerText(即支持)或者的的的的的textC...

2018-08-15 01:42:33 1511

空空如也

空空如也

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

TA关注的人

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