性能有点不错的时间工具类
人们宁愿去关心一个蹩脚电影演员的吃喝拉撒和鸡毛蒜皮,而不愿了解一个普通人波涛汹涌的内心世界。——路遥《平凡的世界》 首先是依赖lang3 123456<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --><dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.11</version></dependency> 然后是工具类 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657package com.ruben.utils;import org.apache...
Client does not support authentication protocol requested by server
宿命论是那些缺乏意志力的弱者的借口。——罗曼·罗兰 今天试了试使用js连接数据库,发现报错Client does not support authentication protocol requested by server; consider upgrading MySQL client 乍一看,代码好像没问题 1234567891011121314151617181920var mysql = require("mysql");let connection = mysql.createConnection({ host: "127.0.0.1", port: 3306, user: "root", password: "789456", database: "ruben"});connection.connect();connection.query("select * from user", funct...
isSynthetic
巧诈不如拙诚。——韩非子 isSynthetic这个函数,在Class类中存在,在Field类中存在,一搜,发现还挺多地方都有这个函数 这个函数我们点进去看源码和注释 1234567891011/** * Returns {@code true} if this class is a synthetic class; * returns {@code false} otherwise. * @return {@code true} if and only if this class is a synthetic class as * defined by the Java Language Specification. * @jls 13.1 The Form of a Binary * @since 1.5 */public boolean isSynthetic() { return (getModifiers() & SYNTHETIC) != 0;} 12...
BindingException:Invalid bound statement not found
性格左右命运,气度影响格局。——余世雅博士 转,原文 解决:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 在用maven配置mybatis环境时出现此BindingExceptiony异常,发现在classes文件下没有mapper配置文件,应该是maven项目没有扫描到mapper包下的xml文件,在pom.xml中加入一下代码可以解决: 123456789101112131415161718<build> <resources> <!-- maven项目中src源代码下的xml等资源文件编译进classes文件夹, 注意:如果没有这个,它会自动搜索resources下是否有mapper.xml文件, 如果没有就会报org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.pe...
quartz
天下熙熙,皆为利来;天下攘攘,皆为利往。——《史记》 Quartz Job Scheduling Library是什么?Quartz是功能强大的开源作业调度库,几乎可以集成到任何Java应用程序中-从最小的独立应用程序到最大的电子商务系统。Quartz可用于创建简单或复杂的计划,以执行数以万计,数以万计的工作。任务定义为标准Java组件的作业,它们实际上可以执行您可以对其执行的任何编程操作。Quartz Scheduler包含许多企业级功能,例如对JTA事务和集群的支持。 Quartz是免费使用的,并根据Apache 2.0许可获得许可。 简单来说,就是一调度框架,用来干动态定时任务的 quartz官方文档 quartzAPI文档 在springboot中使用quartz 导入依赖 12345<!-- quartz --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-qu...
DTO、TO、VO、PO、DO、BO、AO、DAO、POJO
人的一生,应当像这美丽的花,自己无所求,而却给人间以美。——杨沫 之前一直有朋友问我Java中DTO、TO、VO、PO、DO、BO、AO、DAO、POJO这么多O到底是什么意思,看博客看不懂,有没有实际的例子 当然,这些O是出自《阿里Java开发手册》 POJO(Plain Ordinary Java Object): 在本规约中,POJO 专指只有 setter/getter/toString 的 简单类,包括 DO/DTO/BO/VO 等。 AO(Application Object): 阿里巴巴专指 Application Object,即在 Service 层上,极为贴近 业务的复用代码。 我就说说我的理解吧,顺带写点例子 这里就写个根据用户名、分页参数查询用户列表的例子吧 DTO(Data Transfer Object)数据传输对象 首先我们接口接参可以使用DTO,简单来说就是Controller中函数的参数,例如下面的PageDTO 12345678910111213141516171819@Data...
使用layui快速渲染表格
耳闻之不如目见之,目见之不如足践之。一一刘向《说苑》 我们首先准备一个接口,格式如下 12345678910111213141516# 请求方法为POST,参数格式为:application/json{"pageNum":1,"pageSize":10}# 响应格式如下{ "msg": "查询成功!", "code": 200, "data": { "records": [], "total": 0, "size": 10, "current": 1, "searchCount": true, "pages": 1 }, "success": true...
父类坑
我要让全世界都记住我的温柔。——曼德拉 今天在项目中遇到一个小坑可把我吓坏了,记录一下,以免再犯 首先还原下场景吧,我们写个类 123456789101112131415161718192021222324252627package com.ruben.pojo;import lombok.Data;/** * @ClassName: BaseEntity * @Description: 我还没有写描述 * @Date: 2021/1/21 0021 21:01 * * * @author: <achao1441470436@gmail.com> * @version: 1.0 * @since: JDK 1.8 */@Datapublic class BaseEntity { protected Integer id; public BaseEntity() { } public BaseEntity(Integer id) { this(); this.id = id;...
codota
凡事需多听但少言;聆听他人之意见,但保留自己之判断。——《哈姆雷特》 安利一个idea插件codota 安装完成就可以使用啦,我们可以搜索类或者函数 然后就能找到不少在github上使用的例子 我们也可以把光标放到一个函数或者类上或者拖动选中再按Ctrl+Shift+O快捷键快捷搜索这个类(函数)的例子,非常实用 我们也可以点击Learn Project Code按钮来让codota给出类或者函数调用时的提示 这里能看到使用百分比
removeIf
礼貌是最容易做到的事,也是最珍贵的东西。—— 冈察尔 Java中我们可能使用Stream的filter从List去过滤一些数据 但如果我们想要更高的效率,或者我们修改源数据,就需要用到List的removeif了 下面是一个简单的测试 12345678910// 生成从0到20的数字,过滤掉奇数 List<Integer> intList = Stream.iterate(0, e -> ++e).limit(20).collect(Collectors.toList()); long filterStart = System.nanoTime(); intList.stream().filter(a -> a % 2 == 0).collect(Collectors.toList()); long filterEnd = System.nanoTime(); System.out.println("filter执行了" + ((filterEnd - filte...
