resultType:数据库的column可以直接映射到pojo中的属性中,如果column和属性不一致要使用别名。
如果pojo中没有包括查询出来的列名,需要增加列名对应的属性即可完成映射。
resultMap:需要单独定义resultMap,可以完成较为复杂的映射情形,可以实现延迟加载
常用字段:
association:将关联查询信息映射到一个pojo中
collection:将关联查询信息映射到一个List集合中
**延迟加载:**先加载单表,当真正需要访问关联表时再加载关联表
查询缓存
mybatis提供查询缓存,用于提高数据库性能,mybatis提供一级缓存和二级缓存
一级缓存:不同的sqlSession间的缓存区域是互不影响的,mybatis默认支持一级缓存
二级缓存:多个sqlSession可以共享一个Mapper的二级缓存
注意:当数据库commit(增删改)时,缓存会清空,防止脏读。