正则工具类
学不可以已。——《荀子》
代码
package com.ruben.utils;import org.apache.commons.lang3.StringUtils;import java.util.regex.Pattern;/** * 通过正则表达判断是否正确的手机号,固定电话,身份证,邮箱等. * <p> * 从AndroidUtilCode的RegexUtils移植, 性能优化将正则表达式为预编译, 并修改了TEL的正则表达式. * * @author calvin */public class TextValidator { /** * 正则:手机号(简单), 1字头+10位数字即可. */ private static final String REGEX_MOBILE_SIMPLE = "^[1]\\d{10}$"; private static final Pattern PATTERN_REGEX_MOBILE_SIMPLE = Pattern.compile(REG ...
性能有点不错的时间工具类
人们宁愿去关心一个蹩脚电影演员的吃喝拉撒和鸡毛蒜皮,而不愿了解一个普通人波涛汹涌的内心世界。——路遥《平凡的世界》
首先是依赖lang3
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --><dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.11</version></dependency>
然后是工具类
package com.ruben.utils;import org.apache.commons.lang3.time.FastDateFormat;import java.util.concurrent.atomic.AtomicReference;/** * DateFormat.format()消耗较 ...
Client does not support authentication protocol requested by server
宿命论是那些缺乏意志力的弱者的借口。——罗曼·罗兰
今天试了试使用js连接数据库,发现报错Client does not support authentication protocol requested by server; consider upgrading MySQL client
乍一看,代码好像没问题
var 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", function (error, results, fields) { ...
isSynthetic
巧诈不如拙诚。——韩非子
isSynthetic这个函数,在Class类中存在,在Field类中存在,一搜,发现还挺多地方都有这个函数
这个函数我们点进去看源码和注释
/** * 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;}
/** * Returns ...
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中加入一下代码可以解决:
<build> <resources> <!-- maven项目中src源代码下的xml等资源文件编译进classes文件夹, 注意:如果没有这个,它会自动搜索resources下是否有mapper.xml文件, 如果没有就会报org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.pet.mapper.PetMapper.selectByPri ...
quartz
天下熙熙,皆为利来;天下攘攘,皆为利往。——《史记》
Quartz Job Scheduling Library是什么?Quartz是功能强大的开源作业调度库,几乎可以集成到任何Java应用程序中-从最小的独立应用程序到最大的电子商务系统。Quartz可用于创建简单或复杂的计划,以执行数以万计,数以万计的工作。任务定义为标准Java组件的作业,它们实际上可以执行您可以对其执行的任何编程操作。Quartz Scheduler包含许多企业级功能,例如对JTA事务和集群的支持。
Quartz是免费使用的,并根据Apache 2.0许可获得许可。
简单来说,就是一调度框架,用来干动态定时任务的
quartz官方文档
quartzAPI文档
在springboot中使用quartz
导入依赖
<!-- quartz --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz< ...
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
@Datapublic class PageDTO { /** * 页数 */ pri ...
使用layui快速渲染表格
耳闻之不如目见之,目见之不如足践之。一一刘向《说苑》
我们首先准备一个接口,格式如下
# 请求方法为POST,参数格式为:application/json{"pageNum":1,"pageSize":10}# 响应格式如下{ "msg": "查询成功!", "code": 200, "data": { "records": [], "total": 0, "size": 10, "current": 1, "searchCount": true, "pages": 1 }, "success": true}
编写Java代码
DTO
package c ...
父类坑
我要让全世界都记住我的温柔。——曼德拉
今天在项目中遇到一个小坑可把我吓坏了,记录一下,以免再犯
首先还原下场景吧,我们写个类
package 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给出类或者函数调用时的提示
这里能看到使用百分比