使用Spring-Mybatis工具包,使用基于接口的映射器;
复杂的数据结构使用XML配置映射语句;简单的SQL语句建议直接使用Java注解来编写映射语句;
使用@Param对接口参数添加注解,将面向SQL的参数名和面向应用程序的参数名解耦;
禁用或者慎用Map类型的接口参数,当参数数量超过一定数量(如:5)时,建议使用Java类封装参数;
建议使用ResultMap映射结果集;禁止直接使用Map返回查询结果,使用Map返回查询结果不利于不同层级的代码之间的解耦,并且严重降低了修改程序的灵活性;
慎用级联查询功能(association,collection),当一次查询数据量非常大时,会严重影响程序的查询性能(数据库N+1查询导致),嵌套级联层层次越深查询效率越低;建议一次查询出所有Table中的数据,然后在内存中组织数据。数据数据是按照联合主键的顺序组织的,那么推荐使用Java8的流处理语法可以写出非常简洁优美的代码;
ORM框架-MyBatis使用经验总结
原文:http://blog.51cto.com/xjhznick/2063048