- 在表查询中,一律不要使用*作为查询的字段列表,需要哪些字段必须明确使用。
- POJO类的布尔属性不能加is,而数据库字段必须加is_,要求在resultMap中进行字段与属性之间的映射。
- 不要用resultClass作为返回参数,即使所有类属性名与数据库字段一一对应,也需要定义;反过来,每一个表也必然有一个属性与之对应。
- sql.xml配置参数使用:#{},#param#,不要使用${},此种方式容易出现SQL注入。
- IBATIS自带的queryForList(String statementName, int start, int size)不推荐使用。
- 不允许直接拿HashMap与Hashtable作为查询结果集的输出。
- 更新数据表记录时,必须同时更新记录对应的修改时间,即gmt_modified字段值为当前时间。
- 不要写一个大而全的数据更新接口。传入为POJO类,如果不管是否为自己的目标更新字段都进行update table set c1=value,c2=value2,c3=value3;是不对的。执行SQL时,不要更新无改动的字段,一是容易出错,二是效率低,三是会增加binlog存储。
- @Transactional事务不要滥用。事务会影响数据库的QPS。另外,使用事务的地方需要考虑各方面的回滚方案,包括缓存回滚、搜索引擎回滚、消息补偿、统计修改等。
- 中的compareValue是与属性值对比的常量,一般是数字,表示相等时执行相应的SQL语句;表示不为空且不为null时执行;表示不为null值时执行。
阿里巴巴Java开发手册之ORM框架
最新推荐文章于 2024-04-12 07:20:01 发布