这篇文章只是记录下日常工作中遇到的一些事,随手记录下
- 浮点数计算
问题:0.1+0.2 不等于 0.3、1.1+1.3 不等于 1.4、等等
这是因为计算机用二进制表示一个数,但有些浮点数用二进制并不能准确表示,计算机只能舍去部分精度所造成的
解决办法:使用BigDecimal类来进行浮点数计算
BigDecimal bNum1=new BigDecimal("0.1");
BigDecimal bNum2=new BigDecimal("0.2");
System.out.println("bNum1: "+bNum1); // 0.1
System.out.println("bNum2: "+bNum2); // 0.2
System.out.println("bNum1+bNum2: "+bNum1.add(bNum2)); // 0.3
-
从数据库中获取对象时,要做null判断
直接从数据库中获取数据,不一定有数据 -
有数据库的增删改的业务员,最好加上事务
谁也不敢保证数据库操作一定没问题,加上事务,加上try/catch,出错就回滚 -
代理模式可以做一个任务的分发的模式
用代理模式做具体任务的分发(代理模式的简单应用) -
SpringMVC全局异常处理
注解@ControllerAdvice的使用
添加一个Controller类,类上使用@ControllerAdvice注解,自定义一个方法,方法上使用@ExceptionHandler -
mysql按指定顺序排序
ORDER BY FIELD(字段, id2, id3, id1, …)
该字段将按照 id2, id3, id1的顺序排序 -
aop执行顺序
-
mysql按年分组查询
SELECT `user`.`name`, SUM(`user`.age), DATE_FORMAT(user.time,'%Y') year_time
FROM `user`
GROUP BY `name`, year_time
用DATE_FORMAT函数将时间格式化成年份输出
并将该字段命名为year_time,group by 里使用year_time即可