- 博客(27)
- 资源 (17)
- 收藏
- 关注
原创 个人NavicatPremium15 常用快捷键
1.新建一个查询窗口Ctrl + Q 或者 Ctrl + N2.关闭当前窗口Ctrl + W3.运行sql (运行选择的代码,不选择就默认执行所有)Ctrl + R4.删除光标那一行Ctrl + Shift + L5.代码提示Esc6.注释(取消注释)Ctrl + /7.查看sql历史Ctrl + L...
2021-02-23 15:51:36
1800
1
原创 BigDecimal的比较用compareTo而不是equals
背景:近写BigDecimal的数字比较,123和123.00居然被认为是不等的两个数测试效果如下:后翻源码发现:1.equals方法比较value和scale(数值和精度),精度不一样,也返回false2.compareTo的描述,数值相同但是精度不同的两个数(例如123和123.00)被认为是相等的两个数,返回0另附a.compareTo(b)方法的返回含义a<b, 返回-1a=b,返回0a>b, 返回1...
2021-02-23 15:37:30
294
原创 MyBatis的传入参数类型parameterType相关
传入参数parameterType类型分两种 1. 基本数据类型:int、string、long、Date; 2. 复杂数据类型:类(JavaBean、Integer等)和Map parameterType="java.lang.Long",parameterType="java.lang.String", parameterType="java.lang.Integer",parameterType="jjava.util.Date" 如何获取参数中的值: 1. 基本数据类型:
2021-01-18 16:41:45
512
原创 BigDecimal出现多位小数问题
背景:用bigdecimal,结果出现一大堆小数public static void bigDcimalDot() { System.out.println(new BigDecimal(3.1415926)); //打印结果:3.14159260000000006840537025709636509418487548828125 System.out.println(new BigDecimal("3.1415926")); //打印结果:3.14159
2021-01-18 16:22:48
2198
1
原创 Map遍历的几种方法
public void test() { Map<String, String> map = new HashMap<>(4); map.put("a", "A"); map.put("b", "B"); map.put("c", "C"); /* 1: map.keySet() */ //获取所有的 key,根据 key 取出对应的value for (String key : map.keySet()) { Sy
2021-01-18 15:57:52
181
原创 数字去除尾巴多余的零,且至少保留两位小数
背景: 近期做开发时遇到的一个数字格式转换问题,mysql里金额,数字字段,类型都是decimal(16,8),要求返给前端格式1: 去掉小数尾巴多余的0,如12.345000->12.3452: 至少保留2位小数,如12.345->12.345,12,34->12.34,12.3->12.30,12->12.00网上查找方法,发现多是部分格式处理方案,无法解决问题,故自写全,
2021-01-18 15:31:34
1129
原创 JDK1.8源码解析(常见类)
Java的深拷贝和浅拷贝JDK1.8源码(一)——java.lang.Object类JDK1.8源码(二)——java.lang.Integer 类JDK1.8源码(三)——java.lang.String 类JDK1.8源码(四)——java.util.Arrays 类JDK1.8源码(五)——java.util.ArrayList 类JDK1.8源码(六)——java.util.LinkedList 类JDK1.8源码(七)——java.util.HashMap 类JDK1.8源码(八)
2020-10-12 14:30:12
436
原创 Java统计list集合中各元素的存在数量,重复数据
/** * @Description 统计list集合中重复的数据 * @Author Luffy * @Date 2020/09/29 */public static void listRepeatTest() { List<String> list = new ArrayList<>(); list.add("a"); list.add("a"); list.add("a"); list.add...
2020-09-29 16:10:09
4268
原创 《Java开发手册(泰山版)》内容摘取,个人笔记
背景:这几天挤时间看了阿里的《Java开发手册(泰山版)》,选取记录了部分常见或可作为参考的地方,也是一个自我梳理的过程。一、编程规约(一) 命名风格1.【强制】包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式。正例:应用工具类包名为 com.alibaba.ei.kunlun.aap.util、类名为 MessageUtils(此规则参考 spring 的框架结构)2.【强制】避免在子父类的成员变量之间、或者不
2020-09-29 15:52:32
373
原创 《Java开发手册(嵩山版)灵魂15问》读后笔记,内容提炼
本文背景:这两天读了《Java开发手册(嵩山版)灵魂15问》,起先读之有所得,便随手记了一些笔记,写着写着觉得应该系统整理下,便针对每一个问题进行了内容提炼,也是一个自我梳理的过程。笔记:1.为什么禁用Apache BeanUtils进行属性Copy答:Apache BeanUtils 力求完美 , 在代码中增加了非常多的校验、兼容、日志打印等代码,过度的包装导致性能下降严重。尤其执行次数多的时候简直是灾难性的。Spring BeanUtils的Copy 效率最高。2.为什么日期格式用y表示年,
2020-09-18 15:26:15
298
原创 invalid comparison: java.util.Date and java.lang.String异常原因
背景:实体里的字段定义为日期格式private Date thru_date;myBatis的mapper里if条件(做了字符串的非空判断) <if test="thruDate!=null and thruDate!=''"> <![CDATA[ and thru_date >= #{thruDate} ]]> </if>解决方案(仅做常态null的非空判断)
2020-09-14 17:36:38
1367
1
原创 用POI做excel导入功能,各种校验控制
背景:导入功能图示:excel:模板功能简述:根据文件地址,获取文件,解析校验表单(标题行,数据行各种校验),存入数据,返回异常数据错误信息(错误位置,错误原因)本文重点(表单的校验)1.标题行1.1 非空,字符串校验1.2 名称校验(如;票据号码)1.3 顺序校验(防止客户误操作移动列,导致数据插入进db的非对应字段)2. 数据行各种校验)2.1 非空,数据格式校验(字符串,数字,日期等)2.2 长度校验(恒等的长度,以及最大的长度)2.3 数据合理性校验(金额范围,出票日期
2020-09-14 17:05:55
4218
1
原创 IDEA里的plugin加载不出来了!
通常原因:idea(误)认为网络不安全,不允许访问了,这是由IDEA的网络安全机制判断造成的。解决方案:1 settings–>appearance and preference–>system settings—>proxy—auto detect proxy 勾选2 settings–>appearance and preference–>system settings—>updates—use secure connection 取消勾选备注:有的i
2020-09-09 17:06:24
1231
原创 IDEA从Dao层跳转到对应mapper文件设置(插件)
「file」– 「settings」– 「plugins」– 「MarketPlace」如图路径搜索 mybatis plugin ,安装重启即可
2020-09-09 16:50:37
8664
原创 Mybatis Plus的主键策略!
Mybatis Plus的主键策略有如下几种:AUTO 数据库ID自增使用AUTO策略时,db建表时需要将主键设置成AUTO_INCREMENT,否则不能插入INPUT 用户输入IDID_WORKER_STR 字符串全局唯一ID字符串全局唯一IDUUID 全局唯一ID,UUID类型的主键NONE 该类型为未设置主键类型ID_WORKER 全局唯一ID,Long类型的主键(类型是重点,db里对应bigint类型,常见错误db里的字段类型为int,此长度范围不够)...
2020-09-09 16:39:48
365
原创 Linux常用命令全收录!
系统信息arch 显示机器的处理器架构uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作cat /proc/cpuinfo 显示CPU info的信息cat /proc/interrupts 显示中断cat /proc/meminfo 校验内存使用cat /pr
2020-09-09 16:26:17
335
原创 boolean在mysql中对应什么类型
MySQL没有boolean类型,那么java传来的boolean怎么存入呢?如下建表:create table User(id int primary key,take boolean)这样是可以创建成功的,但查看一下建表后的语句,就会发现,mysql把它替换成tinyint(1)。也就是说**mysql把boolean=tinyInt(1)**了。MYSQL保存boolean值时用1代表TRUE,0代表FALSE,boolean在MySQL里的类型为tinyint(1)。...
2020-09-09 15:53:20
9331
原创 将 Redis 设置为 windows 的服务
背景:早期使用Redis服务,总要打开dos窗口,然后在电脑底部任务栏占一个位置,看着不舒服.现把它设置为服务windows的系统服务就解决这现象了.(此文不描写Redis的安装)1.将 Redis 的解压目录添加到系统环境变量首先在命令行(Win+R)中输入cmd,用命令行语句转至Redis安装目录,然后输入如下:redis-server.exe --service-install redis.windows.conf --loglevel verbose(后边的 verbose 表示: 详
2020-09-09 15:22:12
515
原创 IDEA里自定义注释,个性化快捷键添加作者,描述,创建时间等信息的设置方法
IDEA里自定义注释,个性化快捷键添加作者,描述,创建时间等信息的设置方法欢迎使用Markdown编辑器一: 打开设置二: 设置并保存三: 使用方法欢迎使用Markdown编辑器当前实例使用的是IntelliJ IDEA 2019.2.3(Ultimate Edition),不过各版本此相关设置几乎一样.一: 打开设置二: 设置并保存如图右上角自定义组(如:myGroup),然后在里面自定义模板(如:mt),然后在模板里自定义注释内容,如图中下方红款所示.三: 使用方法在类或方法上方按
2020-09-09 11:22:16
5826
原创 mybatis中resultType返回类型
mybatis中resultType可选类型:1,java的基础类型及其包装类int,double和java.lang.Integer,java.lang.Double等2,实体类,自己定义的实体类3,map类型,如果使用resultMap可以使用自定义map;4,集合,即返回的时一个List集合,其中该集合的类型可以为1,2,3中提到的类型Map的demo:Dao层的返回类型为Map<String, Object>key是对应的column值,value是数据中的数据
2020-09-08 18:07:01
2988
1
原创 No validator could be found for constraint ‘javax.validation.constraints.NotEmpty‘ validating type
如上异常信息,就是用错了检验的注解几个非空校验的具体用法:@NotEmpty 用在集合类上面@NotBlank 用在String上面@NotNull 用在基本类型上
2020-09-08 17:20:04
329
原创 根据url抓取,存储地址数据(各国省,市,区县,街道) (数据来源:京东)
1.控制层package com.business.controller;import com.alibaba.fastjson.JSONObject;import com.alibaba.fastjson.TypeReference;import com.business.domain.common.Geo;import com.business.entity.GeoInfo;import com.business.entity.GeoMapper;import com.general
2020-09-08 16:00:47
869
1
原创 redis 敲敲打打 常用命令记录
1.hashHGET key field获取存储在哈希表中指定字段的值。HGETALL key获取在哈希表中指定 key 的所有字段和值HDEL key field1 [field2]删除一个或多个哈希表字段HKEYS key获取所有哈希表中的字段HVALS key获取哈希表中所有值。HSET key field value将哈希表 key 中的字段 field 的值设为 value 。HMSET key field1 value1 [field2 value2 ]同时将.
2020-07-30 17:28:06
140
原创 Mybatis的mapper文件, 不要where 1=1,影响性能,改用<where>标签
传统写法,不确定传入参数而写上1=1,确保sql一定正常执行.(where 1=1 非常影响性能)<select id="getFruitInfo" resultType="Fruit"> SELECT * FROM Fruit WHERE 1=1 <if test="id!= null"> and id = #{id} </if> <if test="name!= null"> and name = #{name}.
2020-07-30 16:59:18
3157
1
原创 在一个重男轻女的国家里,每个家庭都想生男孩,如果他们生的孩子是女孩,就再生一个,直到生下的是男孩为止。这样的国家,男女比例会是多少?
设X表示生孩子的数目,那么又提议可知P{X=n}=1/(2^n),生孩子数目的期望为E{X}=1*(1/2)+2*(1/4)+...+n*(1/2^n),E{X}=2;所以男女比例1:1
2020-04-03 10:16:46
1916
原创 SQL查询某一字段重复的数据
-- SQL查询某一字段重复的数据select * from biz_batch_manage_relwhere BT_NO in ( select BT_NO from biz_batch_manage_rel group by BT_NO having count(BT_NO)>1)
2018-12-27 12:02:24
199
原创 通过Java,以三种方式获取输入日期(格式:YYYY-MM-DD)所在月份的最后一天
package com.pratise;import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Scanner;
2017-09-03 22:40:11
7475
《Java开发手册(嵩山版)灵魂15问》.pdf
2020-09-18
subclipse1.10.10
2018-07-16
UFT_12.01_UserGuide_中文用户手册.pdf
2017-12-19
Java综合版学习笔记
2016-11-06
Java综合学习笔记
2016-11-06
JavaWeb开发入行真功夫(源码)
2016-11-05
EditPlus4.1.0.626(破解不解释版.解压直接用)
2016-10-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人