个人笔记
随笔
黄金黄不黄
这个作者很懒,什么都没留下…
展开
-
资讯与兴趣关闭
就是电脑右下角图标哪里的广告.邮件点击资讯与兴趣.点击关闭即可.这是windows的推送广告.原创 2021-11-02 10:52:40 · 346 阅读 · 0 评论 -
写代码痛点
1:相似度百分之90的两表,如果没有特殊的用处,千万别开两个表,同一份逻辑,要处理两次.特别是支付. 就开一张支付的记录表. 和一张退款表.多开了逻辑要处理两份不说,回调还要处理两份.简直了.实在忍不住吐槽. 为什么要这样做?...原创 2021-03-30 13:47:41 · 100 阅读 · 0 评论 -
记录使用jodd.http发送请求
//定义请求地址String testUrl = “https://baidu.com”;//定义请求头mapMap<String, String> head = new HashMap<>(8);//定义请求头参数head.put(“key”, “value”);//定义请求体Map<String, String> dataMap = new HashMap<String, String>(16);//定义请求体内容dataMap.put(原创 2021-03-24 10:49:29 · 462 阅读 · 0 评论 -
java数组思考
数组是一种数据结构。是内存中的一段连续的内存存储。具有下标。查询的时间复杂度为O1,插入的时间复杂度为On。因为插入的时候,会导致其它元素往后迁移。所以数组适合用来进行频繁的查询。不适合进行频繁的插入删除操作。这些东西,但凡了解过背过的都耳熟能详。 但是,你是否会有一些疑惑: 1:为什么数组的查询效率就是O1呢?它不需要去遍历找到对应的下标的那个值,再进行返回吗? 2:为什么数组的插入的效率会是On呢,为啥插入的时候其它数据要进行迁移呢?我直接把对应下标赋值不就好了吗? ...原创 2021-03-22 19:37:42 · 182 阅读 · 0 评论 -
mysql不为空,以及默认值.
字段设置不为null. 就一定要有一个默认值,就不能默认为null了.新增时可以不去新增这个字段. 但是不能新增这个字段但是传入null.这样直接会报错.字段设置有默认值.不去新增它.它就会自己赋值.跟不为空没有关联影响.不新增这个字段,就会默认赋值.如果直接赋值,赋值为null应该也是可以的. 最后是我猜的. 已验证,是对的.所以到最后,就是无论怎么新增.就是要看有没有对这个字段进行了操作. 没有操作,不进行验证操作.如果进行了操作,就进行数据库层的验证操作....原创 2021-03-19 17:58:42 · 2563 阅读 · 0 评论 -
使用double类型进行简单的运算,结果出现了很多位小数
原因: 二进制不能准确的表示十进制的浮点数. 由十进制转换二进制的方法可以知道: 如果最后一位不是0或5,长度是无限的.解决: 转为bigdecimal进行运算.原创 2021-03-16 16:18:09 · 7039 阅读 · 0 评论 -
No mapping found for HTTP request with URI [/null/swagger-resources/configur
如果以前是好得,突然启动得时候出现这个错误,我觉得应该是网络得原因导致得,我已经碰到过这种问题两次,莫名奇妙得坏,莫名奇妙得好,最后联想到这是基于浏览器得一个后台接口文档,如果是浏览器出现网络不通畅的情况,会不会导致这种情况的发生,现在还是一头雾水,但是有这方面的猜想.网上搜到的都是配置不成功,但是我是使用过程中,出现这种问题.所以,我觉得应该出在网络层面上....原创 2019-07-30 11:57:47 · 5315 阅读 · 7 评论 -
参数传递小知识
用Long类型接收值.传参方式为json: 前端可以不传,可以传""(空串). 在后端接收到的都是null.我formdata的传参方式,前端不传,为null. 传空串也是null.至于空串的表现形式不一样,完全是因为json的格式不同于formdata....原创 2021-02-19 13:39:47 · 318 阅读 · 0 评论 -
字符串处理十八式
1: 逗号分隔字符串s.转为List.首先: 先把字符串split(",")为一个字符串数组.然后用Arrays.asList转为List.不能直接转.比如: Arrays.asList(s) 直接转,是把整个字符串当做一个元素.2:其它的忘了,下次再说吧. 好记性不如烂笔头....原创 2021-02-19 12:50:53 · 75 阅读 · 0 评论 -
一对多的时候,用逗号分隔,存id,还是建表存id?
做项目的时候,有种情况是这样的,一个员工,简称admin,对应三个职位abc,可多选.也就是说,他可以是a,也可以是b,也可以是ab,abc,bc,这样子每次碰到这种业务的时候,都很纠结,该以什么方式去存储他们之间的关系,有时候为了懒省事,直接就以逗号分隔,以这样的形式 a,b,c存入数据库中,取出来的时候,对其进行逗号切分处理,然后再根据abc各自进行处理,有时候有些特殊的查询,会用到fin...原创 2019-12-03 18:54:40 · 2021 阅读 · 3 评论 -
java8新特性,集合处理18式
第一式: 集合对象,根据其中的一个字段,获取这个字段值最大的那个对象.FullReduceDataVo vo= voList.stream().max(Comparator.comparing(FullReduceDataVo::getDiscount)).get();ps: 获取最小把max换成min就行了.亲测有效!测试代码:public static void main(String[] args) { List<FullReduceDataVo> voList = ne原创 2021-01-13 16:39:34 · 258 阅读 · 0 评论 -
group by分组,并取分组内最新时间的数据.
可以使用max聚合函数.但是max和group by联合用,会有问题.分组取得数据与最新时间不吻合.需要先分组拿到最新时间,然后内连接,赛选最新的数据.SELECT * from detail as de inner join (SELECT purse_id, MAX(created_at) as mc from bb_purse_detail GROUP BY purse_id )as od on de.purse_id = od.purse_id and de.created_at = od.原创 2021-01-06 15:44:29 · 3419 阅读 · 0 评论 -
idea分支前面的星星有什么用
收藏,靠前展示. 其它无影响.原创 2021-01-05 10:06:53 · 3332 阅读 · 0 评论 -
bigdecimal常用方法
去末尾零: 例子: 100.100 想要100.1方法: .stripTrailingZeros().toPlainString()前面舍弃零,后面转为string.原创 2021-01-04 10:03:46 · 85 阅读 · 0 评论 -
根据for循环中的参数为粒度进行处理业务的时候,一定要捕捉异常
出现异常之后,后面的代码不会继续运行,程序就会停掉.在for循环里面写业务逻辑,每一个循环都会处理一个特定的业务.如果不捕捉,出现异常之后,后面的就不执行了,这个影响很大.应该让当前的不影响后面的运行....原创 2020-11-06 11:31:23 · 125 阅读 · 0 评论 -
一个list的size为1,但是内容为null
使用了计算函数sum(),但是括号里面的数据为null;原创 2020-12-10 16:34:02 · 1196 阅读 · 0 评论 -
常用数据结构处理整理一下.天天忘,天天搜,麻烦.
set转一下list : new ArrayList<>(set) .原创 2020-12-09 10:47:16 · 78 阅读 · 0 评论 -
windows下杀掉端口
Windows两步方法 : 1 查询端口占用,2 强行杀死进程netstat -aon|findstr “8080”taskkill /pid 4136 -t -f 4136和-t之间是有空格的.linux grep -f |aux xxx 大概是忘了杀掉简单些 kill -9 跟查出来的pid启动jar包,nohup Java -jar 后面跟报名参数....原创 2020-12-09 00:50:38 · 368 阅读 · 0 评论 -
List<对象>把id抽出来组成set<Long>
这样写,百万条测试数据: 77毫秒左右(多次测试)Set collect = usersList.stream().map(Users::getId).collect(Collectors.toSet());这样写,长一些,但是同样数据,34毫秒左右(多次测试)Set set = new HashSet<>();for (Users bb : usersList) {set.add(bb.getId());}深思熟虑之后,我还是用34毫秒的吧....原创 2020-12-07 11:50:20 · 906 阅读 · 0 评论 -
Bigdecimal.valueOf(0.01)出来得不是0.01,而是0.010000000000123123124123312什么的.用new Bigdecimal(“0.01“)
转bigdecimal类型需要注意的地方原创 2020-12-07 10:51:32 · 1659 阅读 · 0 评论 -
git管理账号密码
git config --global credential.helper store 这个命令有什么用?原创 2020-12-03 00:37:45 · 874 阅读 · 0 评论 -
mybatis之批量更新
批量更新稍微复杂一些:写个例子 :<update id="xxx" parameterType="list"> update xxx(这个是表名) <trim prefix="set" prefixOverrides=",">(这一行是拼接set ) <trim prefix="code = case" suffix="end,">(这个里面的code是需要修改的字段) <foreach coll原创 2020-11-29 22:14:29 · 254 阅读 · 0 评论 -
mybatis批量新增之主键回写
正常批量新增比较简单 :写个例子:<insert id="batchInsert" parameterType="list" useGeneratedKeys="true" keyProperty="id"> INSERT INTO `bb_order_item` ( `xx`, `xxx` ) VALUES <foreach collection="list" item="item" separator=",">原创 2020-11-29 21:37:16 · 843 阅读 · 0 评论 -
捕捉异常出现异常排查思路
如果出现try catch捕捉不到的情况.:首先看你捕捉的是什么异常. 而具体抛出的是什么异常.是否能对应上,大包小.Exception按理说都能捕捉.原创 2020-11-27 13:49:12 · 183 阅读 · 0 评论 -
阿威十八式之git
今天和代码合错了,有a,b两个分支,想要a合到b,结果翻车了,b合到a了.我不想要.退回方法,git show,查询当前提交:C:xxx>git showcommit 601223xxx1d9570ad03xxxafe96f5d (HEAD ->b)Merge: bbbssb482d (1) aassadf38608(2)Date: Fri Nov 27 10:05:18 2020 +0800Merge branch ‘b’ into aMerge中的两个参数,就是两个提原创 2020-11-27 11:19:23 · 999 阅读 · 1 评论 -
rebase current select
git的变基操作: 我不知道啥意思,但是我不想这样.我百度运行git rebase --continue,还有git rebase --abort,结果不行:could not read ‘.git/rebase-apply/head-name’: No such file or directory然后我删了.git中的一个 rebase–apply文件之后好了....原创 2020-11-23 18:10:32 · 1462 阅读 · 0 评论 -
批量新增和批量更新
批量新增和批量更新: 如果成功,全成功.如果失败,全失败.原创 2020-11-20 16:05:19 · 244 阅读 · 0 评论 -
时间类型处理
实际项目中,根据时间搜索,存生日,很多用到时间的.第一: 传时间类型的值后台的字段类型为: Date 类型想要接收前台的时间类型数据 :前台传入一般有三种传入方式 :一个时间对象,一个时间戳,或者是一个字符串.而实际上传入到后台的时候,都是以字符串的形式的形式走的.当后台定义为Date时间类型的时候,并且没有加注解,默认的格式是这样子的:“2020-10-31T16:00:00.000Z”这个样子的格式才能被后台解析到,不然抛异常: HttpMessageNotReadableExcept原创 2020-11-18 13:51:07 · 386 阅读 · 1 评论 -
springboot的全局异常处理
很简单很实用:不用写繁杂的代码,可以对异常进行统一的处理,和返回.创建一个类: CustomExceptionHandler在类名上加上注解: @Slf4j @RestControllerAdvice然后定义异常处理方法:@ExceptionHandler(value = HttpMessageNotReadableException.class)public ResponseEntity HttpMessageNotReadableException(HttpMessageNotReadabl原创 2020-06-28 11:43:37 · 278 阅读 · 0 评论