标签:
1. 对于一些类型或者步骤,一般使用整数类型作为值。为了防止新增类型或步骤,一般可以可定义不连续值。例如:0 10 20 30 等,如果有新增类型或者步骤,可以定义值为2,3,4等。
2. 自动化代码生成工具
3. 如果定义字段类型为int,在使用Integer转换的时候,会默认调用方法将Integer转换为int,如果Integer为null,会报空指针异常。需要判断是否为null。
4. 使用spring MVC传递参数时,如果报400错误,可能是类型转换错误,请确认传递的参数类型是否一致。
5. 详细的注释:每个参数什么意思;有哪些情况需要处理;如果有Map,map的key和value值有哪些;使用<br>换行
6. static静态方法或静态代码块,进行数据初始化
7. service引用别的service,尽量不要引用别的mapper
8. git的使用
9. map中key值为字符串时,按int型排序:
Map<String,Integer> sortMap = new TreeMap<>(new Comparator<String>() {
public int compare(String o1, String o2) {
return Integer.parseInt(o1)-Integer.parseInt(o2);
};
});
10. token认证,拦截器。使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。大概的流程是这样的:
1). 客户端使用用户名跟密码请求登录
2). 服务端收到请求,去验证用户名与密码
3). 验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端
4). 客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里
5). 客户端每次向服务端请求资源的时候需要带着服务端签发的 Token
6). 服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据
token:加密 ; 请求时携带 ; 缓存起来
11. 模拟post请求:amber 和 postman
12. 使用guava中的工具类
13. 使用泛型,简化代码
14. 使用lombok中的@Data减少setter和getter方法
15. 实体类继承
16. 自动构建工具,jenkins
17. 相同的代码提取成复用方法
18. 缓存不变的内容,例如:区域、城市
19. 数据库插入或者更新,时间自动生成
20. 分页封装,将设计分页的内容提取出来,例如:放到intercept和ThreadLocal中
21. 员工/岗位:查询员工使用员工,查询上下级关系使用岗位。岗位保存历史信息,同一个员工的每个时间段只有一个处于激活状态。
22. 封装返回对象
23. mybatis:
HashMap:<select id="getDealerVisitRecordCount" resultType="int" parameterType="java.util.Map" >
in语句判断,判断是否为空以及长度是否大于0:
<if test="positionIdList!=null and positionIdList.size!=0">
a.position_id in
<foreach collection="positionIdList" item="id" index="index" open="(" close=")" separator=",">
#{id}
</foreach>
</if>
大于和小于:
<if test="startDate!=null">
AND a.visit_time > #{startDate}
</if>
标签:
原文地址:http://www.cnblogs.com/Jtianlin/p/5456494.html