Mybatis
Mybatis的mapper接口禁止方法重载
Mybatis使用(package+Mapper)全类名+method全限名作为key,去xml内寻找唯一sql来执行的。类似:key=x.y.UserMapper.getUserById,那么,重载方法时将导致矛盾。对于Mapper接口,Mybatis禁止方法重载
java
Bigdecimal
divide方法
推荐divide(BigDecimal divisor, int roundingMode)
禁止使用divide(BigDecimal divisor)会出现无限不循环小数报错
new BigDecimal()时
不要传入浮点类型会丢失精度,要使用String类型
try catch
这血案,我遇到过。。
日期时间
jodaTime没有这个问题呢
string
值比较
集合框架
较多参考阿里巴巴Java开发规范
多线程
要理解什么情况下会出现线程安全问题,否则下手点都找不到
参考阿里巴巴Java开发规范
控制语句
if/else
我也喜欢这种做法(被称为卫语句),虽然判断次数会增多造成性能损耗。。。
这个有点意思
mysql
涉及金额字段,注意线程安全问题!!!!!
in
in的集合元素控制在1000个以内(warning)
这个很恐怖,一时半会找不到问题
强烈推荐
索引
很重要
前后端交互
null
我也喜欢这么做,甚至在创建数据库时给字段一个默认值,这样的话null判断就避免的很多
但要注意null和0和‘’的意义上的区别,如果产品有需求的话,否则还是少给自己添麻烦比较好
Long
个人认为,项目建立阶段就需要跟前段约定好,所有的数字以字符串交互,所有的Long类型都有丢失精度风险
http传参![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6aafc4daaa9feb31eee0b5859a55f368.png#pic_center)
重定向
属性拷贝
注意导报包