Mybatis中fetchsize
时间: 2023-06-10 22:07:24 浏览: 722
MyBatis 中的 fetchSize 是用来设置 JDBC 驱动程序每次从数据库中获取的记录数。在查询大量数据时,通过设置 fetchSize 可以减少内存的使用,提高查询性能。
在 MyBatis 中,fetchSize 可以设置在映射文件的 select 标签中,也可以通过代码设置。例如:
1. 在映射文件中设置 fetchSize
```xml
<select id="selectUsers" parameterType="int" resultType="User" fetchSize="100">
select * from users
</select>
```
2. 通过代码设置 fetchSize
```java
Map<String, Object> params = new HashMap<>();
params.put("id", 1);
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
List<User> users = sqlSession.selectList("com.example.selectUsers", params);
((org.apache.ibatis.session.defaults.DefaultSqlSession) sqlSession).getConfiguration().setDefaultFetchSize(100);
} finally {
sqlSession.close();
}
```
需要注意的是,fetchSize 只是一个提示,具体的实现还要根据 JDBC 驱动程序的实现来确定。在某些情况下,fetchSize 可能会被忽略。