简述Mybatis的关联映射和缓存机制
时间: 2024-08-12 08:09:09 浏览: 49
MyBatis常见实用面试题整理.docx
Mybatis是一个流行的持久层框架,它提供了强大的SQL查询能力以及关联映射和缓存机制,帮助开发者高效地操作数据库。
**关联映射**:
- **一对一映射**:当一个实体类只对应数据库中的一个表的一条记录,并且这个实体只有一个关联对象时,使用一对一映射。通过`<one-to-one>`标签定义。
- **一对多映射**:一个实体类对应数据库中多个表,或一个实体类包含多个子实体,使用`<association>`或`<collection>`标签。
- **多对多映射**:通过中间表来实现,Mybatis会自动生成JOIN语句,或者手动配置`<many-to-many>`标签。
**缓存机制**:
- **一级缓存**:默认开启,作用于Session级别,同一个Session内的查询结果会被缓存起来,如果后续查询相同的SQL,将直接从缓存中获取,无需再次执行数据库查询。
- **二级缓存**:可以开启全局的二级缓存,不同Session间的相同查询结果会被存储到这个缓存中,减少网络请求和数据库查询。
- **自定义缓存**:通过配置`<cache>`标签,可以设置更细致的缓存策略,如指定缓存的TTL(过期时间)和缓存更新策略。
阅读全文