93 《阿里巴巴 java开发手册》关于MySQL的规约(ORM 映射)

【强制】

  1、在表查询中,一律不要使用  *  作为查询的字段列表,需要哪些字段必须明确写明。

    说明:

      1)增加查询分析器解析成本。

      2)增减字段容易与resultMap配置不一致。

      3)多余字段增加网络开销。

  2、不要用resultClass作为返回参数,即使所有类属性名与数据库字段一一对应,也需要定义;反过来,每一个表也必然有一个属性与之对应。

    说明:配置映射关系,使字段与DO类解耦,方便维护。

  3、sql.xml 配置参数使用:#{ },#param# ,不要使用${ },此种方式容易出现SQL注入。

  4、iBATIS自带的queryForList( string statementName,int start ,intsize)不推荐使用。

    说明:其实现方式是在数据库取到 statementName 对应的SQL语句的所有记录,再通过subList 取start,size的子集合。

  5、不允许直接拿HashMap与Hashtable作为查询结果集的输出。

    说明:resultClass=“Hashtable”,会置入字段名和属性值,但是值的类型不可控。

  6、更新数据表记录时,必须同时更新记录对应的修改时间,即update_time字段值为当前时间。

【推荐】

  1、不要写一个大而全的数据跟新接口。传入为POJO类,如果不管是否为自己的目标跟新字段都进行update  table  set  c1=value1,c2=value2,c3=value3;是不对滴。执行SQL时,不要更新无改动的字段,一是容易出错,二是效率低,三是会增加binlog存储。

posted @ 2019-06-22 16:55  小能熊  阅读(307)  评论(0编辑  收藏  举报