ORM规约
1、查询的时候一律不要使用*,会增加解析器的成本,有可能和resultMap不一致。
2、POJO类的布尔属性一律不要is,数据库字段名字一定要is_xxx。
3、不要用resultClass作为返回参数,配置映射关系,使字段和DO类解耦。
4、sql xml参数使用#{value} #param#,不要使用${},容易出现sql注入。
5、mybatis自带的queryForList(statement,int start,int size)不推荐使用,它是先查到所有记录然后,在用subList。
6、不允许直接拿hashmap和hashtable作为返回结果,因为值的类型不可控。
7、更新记录时必须更新gmt_modified为当前时间。
8、不要去写一个大而全的数据更新方法,然后传入POJO类,这样非常容易出错,而且更新无谓的字段,加大消耗。
9、@transaction不要滥用,事务会影响数据库的QPS,另外使用事务的地方要考虑各种回滚方案,包括缓存回滚、搜索引擎回滚、消息补偿、统计修正。
10、mybatis中isEqual <isNotNull>、<isNotEmpty>、<isEmpty>
邮箱:wangh_2@sina.com