- 博客(890)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
原创 关于Java获取时间戳的方法
Java有两个取时间戳的方法:System.currentTimeMillis() 和 System.nanoTime(),它们的使用场景是有区别的。# System.currentTimeMillis() 存在性能问题?答案是否定的。这两个方法性能差异取决于操作系统。Windows:在 Windows 下,System.currentTimeMillis() 比 System.nanoTime() 要快很多,这是因为 Windows 系统为前者提供的只是一个缓存变量,而后者则是实时的
2022-03-11 02:15:12
772
原创 实用Shell脚本
1、Dos攻击防范(自动屏蔽攻击 IP)#!/bin/bashDATE=$(date +%d/%b/%Y:%H:%M)LOG_FILE=/usr/local/nginx/logs/demo2.access.logABNORMAL_IP=$(tail -n5000 $LOG_FILE |grep $DATE |awk '{a[$1]++}END{for(i in a)if(a[i]>10)print i}')for IP in $ABNORMAL_IP; do if [ $..
2022-03-10 19:57:26
268
原创 idea Build Project时报错
SpringBoot编译报错:java: JPS incremental annotation processing is disabled. Compilation results on partial recompilation may be inaccurate. Use build process “jps.track.ap.dependencies” VM flag to enable/disable incremental annotation processing environment.
2021-12-13 18:50:07
2102
1
转载 fastjson在反序列化时,解析对象中的继承,抽象类处理
LimitActionConfig是ActionConfig的子类,RuleConfig的有个属性是ActionConfig,需要反序列化成LimitActionConfigParserConfig parserConfig = new ParserConfig() { @Override public ObjectDeserializer getDeserializer(Type type) { if (type ==.
2021-11-24 18:20:06
1865
原创 SpringBoot设置关闭Swagger控制台日志
在application.properties文件里面添加:1.logging.level.springfox=error;2.swagger.service.enabled=false;
2021-11-24 18:17:29
1751
原创 mybatis-mate 简介
简介mybatis-mate 为 mp 企业级模块,支持分库分表,数据审计、数据敏感词过滤(AC算法),字段加密,字典回写(数据绑定),数据权限,表结构自动生成 SQL 维护等,旨在更敏捷优雅处理数据。主要功能 字典绑定 字段加密 数据脱敏 表结构动态维护 数据审计记录 数据范围(数据权限) 数据库分库分表、动态据源、读写分离、数据库健康检查自动切换。 使用1.依赖导入Spring Boot 引入自动依赖注解包..
2021-11-06 16:50:14
11119
3
原创 接口开发事项
做接口需要考虑的问题什么是接口接口无非就是客户端请求你的接口地址,并传入一堆该接口定义好的参数,通过接口自身的逻辑处理,返回接口约定好的数据以及相应的数据格式。接口怎么开发接口由于本身的性质,由于和合作方对接数据,所以有以下几点需要在开发的时候注意:1.定义接口入参:写好接口文档2.定义接口返回数据类型:一般都需要封装成一定格式,确定返回json还是xml报文等见如下返回数据定义格式:package com.cai...
2021-09-10 11:17:37
447
原创 Oracle 数据库修改用户名和密码
一、修改用户名1.1 查出需要修改用户的id(个人理解是id,不一定准确)SQL>selectuser#,namefromuser$wherename='TEST';commit;1.2 更改用户名SQL>updateuser$setname=‘TEST_NEW‘whereuser#=需修改的用户ID;commit;1.3 更新数据SQL>altersystemcheckpoint;SQL>altersystem...
2021-09-07 17:09:22
5493
原创 Oracle 时间日期格式处理
在项目中遇到“29-MAR-21 04.08.45.0000000 PM”这种日期格式,百度了一下找到了完美的解决方案,特此记录一下。SELECT TO_CHAR(CAST(CAST('29-MAR-21 04.08.45.0000000 PM' AS TIMESTAMP) AS DATE), 'yyyy-MM-dd hh24:mi:ss')FROM DUAL;...
2021-08-23 10:47:39
1278
原创 MYSQL插入方法
我们常见的插入方法一般有这几种,普通插入语句、插入或更新、插入或替换、插入或忽略,应用在不同的场景中,在功能方面呢也会有所不同。1.普通插入语句insert into table ('a','b','c','d') values ('1','2','3','4');2、插入或更新如果我们希望插入一条新记录(INSERT),但如果记录已经存在,就更新该记录,此时,可以使用"INSERT INTO … ON DUPLICATE KEY UPDATE …"语句:情景示例:这张表..
2021-07-01 15:04:32
3088
原创 Java中的finally执行场景
一、前言在开发过程中时常会遇到异常处理(try-catch),这时候就会涉及到finally执行的问题,所以特地写这篇文章深入研究一下finally的执行情况和返回值的情况。二、finally一定会执行吗?先给答案:肯定不是。我们可以看两种情况:2.1 在执行try块之前直接return,我们发现finally块是不会执行的public class TryCatchTest { private static int total() { int i = 11;.
2021-06-30 15:53:53
356
原创 Java 开发实用工具类
有很多工具类库,可以大大简化代码量,提升开发效率,很多的开发者却不知道。而这些类库早就成为了业界标准类库,大公司的内部也都在使用。1. Java自带工具方法1.1 List集合拼接成以逗号分隔的字符串// 如何把list集合拼接成以逗号分隔的字符串 a,b,cList<String> list = Arrays.asList("a", "b", "c");// 第一种方法,可以用stream流String join = list.stream().col...
2021-06-25 10:13:37
271
原创 Intellij IDEA 配置注释模板
一、类注释打开 IDEA 的Settings,点击Editor-->File and Code Templates,点击右边File选项卡下面的Class,在其中添加图中红框内的内容:
2021-06-01 17:32:31
3607
1
原创 JavaBean与Map互转
一、摘要在实际开发过程中,经常碰到需要进行对象与map之间互转的问题,其实对于对象、Map 之间进行互转有很多种方式,下面我们一起来梳理一下:利用 JSON 工具包,将对象转成字符串,之后再转成 Map,这种需要转换2次,相对来说效率比较底; 利用 Java 反射,获取 Bean 类的属性和值,再转换到 Map 对应的键值对中,相对来说这种方法效率高些,在实现上比较麻烦; 利用 Java 的内省(Introspector) 实现,获取 Bean 类的属性和值,Map与对象互转,效率比较高;.
2021-04-20 20:32:00
3854
原创 Java日志框架——log4j2
Logback算是JAVA 里一个老牌的日志框架,从06年开始第一个版本,迭代至今也十几年了。不过logback最近一个稳定版本还停留在 2017 年,好几年都没有更新;logback的兄弟 slf4j 最近一个稳定版也是2017年,有点凉凉的意思。而且 logback的异步性能实在拉跨,功能简陋,配置又繁琐,远不及Apache 的新一代日志框架 -Log4j2目前来看,Log4j2 就是王者,其他日志框架都不是对手!Log4j2简介Apache Log4j 2是 Log4j(1) 的升..
2021-04-13 15:23:45
1582
原创 将GBK编码转换成UTF-8编码
将GBK编码的字符串转换为UTF-8编码 /** * 将GBK编码转换成UTF-8编码 * */ protected String gbkConvertToUtf8(String str) throws UnsupportedEncodingException { if (StringUtils.isNotBlank(str)) { //转换成gbk编码 String gbkChinese..
2021-03-23 22:00:32
15379
原创 JSONObject转换为Map<String, String>对象
方法一JSONObject obj = new JSONObject();{obj.put("key1", "value1");obj.put("key2", "value2");obj.put("key3", "value3");}Map<String, String> params = JSONObject.parseObject(obj.toJSONString(), new TypeReference<Map<String, String>>.
2021-03-17 19:43:32
12425
原创 货币金额转换为大写形式
在项目中我们时常会用到将金额转化为中文大写的情况,今天我就把我之前写的一个工具类分享给大家,亲测可以适用于大多数的场景。package com.test;import java.math.BigDecimal;/** * * * 数字转换为汉语中人民币的大写 * */public class NumberToCN { /** * 汉语中数字大写 */ private static final String[] CN_UPPER_NUMBER
2021-03-15 21:37:29
222
原创 maven打包不打lib目录里面的jar包解决办法
出现原因项目原来在Tomcat中运行的war包,使用maven构建,依赖由maven管理,现在需要与第三方系统对接,用第三方技术,第三方提供若干jar包,使用时直接把这些jar包放到lib目录,打包时发现报ClassNotFundException,找不到这些类;解决方案打成jar包,pom文件中添加:<build> <plugins> <plugin> <groupId>org.apac.
2021-03-10 19:33:00
5280
1
原创 自定义java8通用Builder
一、前言最近学习了一下java8的语法,发现了一个比较好用的一对逆运算接口:Supplier:这个接口是用来创建对象的,最大的特点是懒加载。Supplier源码:@FunctionalInterfacepublic interface Supplier<T> { /** * Gets a result. * * @return a result */ T get();}调用方法Demo:@Setter.
2021-01-27 18:20:55
1214
3
原创 Oracle 生成不重复小写UUID
uuid:(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得)
2020-12-20 17:23:18
1897
原创 Google guava工具类的介绍和使用
概述工具类 就是封装平常用的方法,不需要你重复造轮子,节省开发人员时间,提高工作效率。谷歌作为大公司,当然会从日常的工作中提取中很多高效率的方法出来。所以就诞生了guava。guava的优点:高效设计良好的API,被Google的开发者设计,实现和使用遵循高效的java语法实践使代码更刻度,简洁,简单节约时间,资源,提高生产力Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections]缓存 [caching]原生类型支持 [primit
2020-12-19 11:00:27
482
1
原创 Oracle 通过15位或18位身份证号码计算年龄、出生年月日、性别
15位身份证号码各位的含义:地址码(前六位数):表示身份证编码对象常住户口所在省份、地市,以及县(市、旗、区)的行政区划代码,1-2位数字表示所在地省、自治区、直辖市代码,第3、4位数字表示所在地地级市、盟、自治州代码,第5、6位数字表示所在地县(县级市、旗、区)的代码;出生日期码(第七位至十二位):表示身份证编码对象出生的年、月、日,年、月、日代码之间不用分隔符,比如670401代表1967年4月1日;顺序码(第十三至十五位):表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人.
2020-12-04 12:57:54
4701
原创 ORACLE 两表关联更新三种方式
创建如下表数据select * from t1 ;select * from t2;现需求:参照T2表,修改T1表,修改条件为两表的fname列内容一致。方式1,update常见陷阱:UPDATE T1 SET T1.FMONEY = (select T2.FMONEY from t2 where T2.FNAME = T1.FNAME)执行后T1结果如下:有一行原有值,被更新成空值了。正确写法:UPDATE T1 SET T1.FMONEY
2020-11-24 20:33:28
5496
2
原创 SQLServer 移除数据中换行符和回车符
移除回车符char(13)代表回车符语法:update 表名 set 字段名 =replace(字段名,char(13))WHERE CHARINDEX( CHAR(13) , 字段名) > 0例如:update master_locationSET street_number = REPLACE(street_number, CHAR(13), '') WHERECHARINDEX( CHAR(13) , street_number) > 0--移除换行符ch..
2020-10-25 16:03:35
2340
原创 SQLServer统计所有表数据量
--查询数据库中所有的表名及行数SELECT a.name , b.rows FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.idWHERE ( a.type = 'u' ) AND ( b.indid IN ( 0, 1 ) )ORDER BY b.rows DESCSELECT A.NAME ,B.ROWS FROM sysobjects A JOIN sysindexes B ON...
2020-10-24 17:19:27
3033
原创 MapStruct简介及使用
为什么需要MapStruct ?首先,我们先说一下MapStruct这类框架适用于什么样的场景,为什么市面上会有这么多的类似的框架。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。很多人都对三层架构、四层架构等并不陌生。甚至有人说:"计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决,如果不行,那就加两层。"但是,随着软件架构分层越来越多,那么各个层次之间的数据模型就要面临着相互转换的问题,典型的就是我们可以在代码中见到各种O,如DO、DTO、VO等。一般情况下,
2020-08-12 10:45:25
3467
原创 Centos 使用docker 安装tomcat8详细步骤
环境:操作系统:CentOS-8.1.1911-x86_64-dvd1docker版本:Docker version 19.03.11远程连接工具:SecureCRT 8.0虚拟机:vmware 15tomcat版本:tomcat 8.5.381.官网镜像版本查看https://hub.docker.com/2. 拉取镜像(下载)docker pull tomcat:8.5....
2020-07-19 22:37:11
1006
原创 IDEA Maven无法引入org.openjfx:javafx.base:11.0.0-SNAPSHOP
今天在新建一个项目引入spring-boot-starter-web包报红,org.openjfx:javafx.base jar下载失败打开发现是这个org.openjfx:javafx.base子包没有引入,找到maven仓库删除该包,重下还是失败,网上页没找到解决方案,最后对比了下发现以前的项目同版本spring-boot-starter-web下没有这个jfx依赖,于是就怀疑是设置问题,打开设置,如图找到maven设置注意到JRE被改成了11,现在用的是1.8,于是改回1.8,重新刷新导
2020-07-19 22:32:04
2807
4
原创 Oracle 函数收集及使用详情
substr 函数:截取字符串 语法:SUBSTR(string,start,[length]) string:表示源字符串,即要截取的字符串。 start:开始位置,从1开始查找。如果start是负数,则从string字符串末尾开始算起。 length:可选项,表示截取字符串长度。实例:SELECT SUBSTR('Hello SQL!', 1) FROM demo --截取所有字符串,返回'Hello SQL!'SELECT SUBSTR('Hello...
2020-07-08 16:21:56
307
原创 Sublime Text3添加到右键快捷菜单教程(亲测可用)
前言:安装Sublime Text3时,未选择右键快捷方式,可以通过下面的方式解决!教程:方法一:新建sublime_addright.reg文件 编辑后双击打开就OK注意:括号内是sublime安装路径,open sublimeText3 是提示文字Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\SublimeText3]@="open SublimeText3 ""Icon"="D:\\s.
2020-07-03 16:54:13
6185
6
原创 jdk8 获取fastJson中所有的KEY
本文采用java8forEach的方式,遍历JSON中所有的KEY。JSON格式如下:"{"name":"tom","age":18,"email":"35354353@qq.com","address":[{"province":"湖北省"},{"city":"武汉市"},{"disrtict":"武昌区"}]}处理后得到如下结果:...
2020-05-18 23:24:41
4080
原创 java BigDecimal累加实现
BigDecimal total=BigDecimal.ZERO;for (int i = 0; i < 5; i++) { BigDecimal number= new BigDecimal(1); total= total.add(number) ;}System.out.println(total);
2020-04-20 23:21:29
3867
原创 Maven 打包跳过Test目录
Maven执行package打包时,测试失败会影响打包结果。解决方法:方法一:修改pom.xml文件如下,把skipTests属性改为true<project> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins...
2020-04-16 11:44:58
11647
原创 Mybatis 分页查询简单实现方式(Mybatis Plus)
一般物理分页,即通过sql语句分页,都是在sql语句后面添加limit分页语句,在xml文件里传入分页的参数,再多配置一条sql,用于查询总数:<select id="queryStudentsBySql" parameterType="map" resultMap="studentmapper"> select * from student li...
2020-04-15 18:20:46
5011
2
原创 解决idea控制台中文乱码
1.file–>FileEncoding:2.检查tomcat没有的话就添加-Dfile.encoding=UTF-8也可以修改Tomcat安装目录下的conf文件夹里面的content.xml的这里,如下图:如果是普通java项目,在菜单栏找到run->Edit Configrations,设置 vm option为 -Dfile.encoding=utf-8...
2020-03-05 17:37:17
8248
3
原创 win7修改服务的可执行文件路径
1、打开“services.msc”,选择需要修改“可执行文件的路径”的服务,右击“属性”,得知该服务的“服务名称”。以下是一个例子,如下图:2、运行“regedit”打开注册表,在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services”中查找“SQLWriter”,点击“SQLWriter”,将注册表窗口最大化打开,在窗口右侧查找“Im...
2020-01-18 15:27:23
1254
原创 解决使用pip命令时ModuleNotFoundError: No module named 'pip'问题
Python学习遇到小问题:ModuleNotFoundError: No module named ‘pip’,想要装一下wxPython第三方库来写一下Python的GUI的时候发现cmd窗口下无法执行pip命令,想了想昨晚好像是pip命令行提示了我有新版本可以更新使用,更新之后也不成功,但昨晚没有怎么理会,以为没事,但今早起来一看发现pip命令都用不了了,出现了ModuleNotFoundE...
2020-01-08 16:11:59
1036
1
转载 mysql 排序后 分页 第一页数据和第二页数据部分数据重复问题
问题描述数据分页时需要根据数据记录创建时间create_time字段倒序,即使用order by create_time desc limit ?,?,但是我们会发现,前端进行请求时获取的数据并不正确,分页中出现了一定的重复数据。问题原因期初还很好奇,总数没问题,总查询也没问题,为什么数据会重复了,然后会把部分数据给覆盖了。后来,通过查看SQL发现,是根据时间进行排序的,然而 这个时间 恰...
2019-12-31 11:13:55
1047
原创 Java8 四大核心函数式接口
一、消费型接口: 基本格式:Consumer<T> 接受一个输入参数并且无返回值。 方法调用:void accept(T t); 使用示例:@Testpublic void testConsumer() { handle(6, (x) -> System.out.println(x + 2));}public void handle(i...
2019-12-23 20:21:44
196
Spring+springmvc+hibernate+JQueryEasyUI
2018-08-01
本机访问虚拟机CentOS的Redis
2023-09-28
list泛型改变重复值,保留重复值的第一条
2018-06-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅