mybatis进阶知识
时间: 2023-12-14 15:34:05 浏览: 177
MyBatis是一款半自动ORM工具,它可以将Java对象映射到数据库表中,同时也可以将查询结果映射到Java对象中。下面是MyBatis进阶知识的介绍:
1. 动态SQL:MyBatis提供了强大的动态SQL功能,可以根据不同的条件生成不同的SQL语句,包括if、choose、when、otherwise、trim、where、set、foreach等标签。
2. 一对多关联查询:MyBatis支持一对多关联查询,可以通过association和collection标签实现,其中association标签用于关联单个对象,collection标签用于关联多个对象。
3. 多对多关联查询:MyBatis也支持多对多关联查询,可以通过collection标签和select标签实现,其中collection标签用于关联多个对象,select标签用于查询关联对象。
4. 一级缓存:MyBatis的一级缓存是SqlSession级别的缓存,它默认开启,可以通过SqlSession的clearCache方法清空缓存。
5. 二级缓存:MyBatis的二级缓存是Mapper级别的缓存,它需要手动开启,在Mapper.xml文件中添加<cache/>标签即可,可以通过配置文件设置缓存的策略和过期时间。
下面是一个MyBatis的动态SQL示例:
```xml
<select id="findUser" parameterType="map" resultType="User">
select * from user
<where>
<if test="name != null">
and name like #{name}
</if>
<if test="age != null">
and age = #{age}
</if>
</where>
</select>
```
阅读全文