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>

 

posted on 2017-08-02 23:08  _故乡的原风景  阅读(272)  评论(0编辑  收藏  举报