1、流式查询
1、实体类
package com.wanqi.pojo;
import java.util.Date;
/**
* @Description TODO
* @Version 1.0.0
* @Date 2022/9/12
* @Author wandaren
*/
public class VoteRecord {
private int id;
private String userId;
private int voteNum;
private int groupId;
private boolean status;
private Date createTime;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public int getVoteNum() {
return voteNum;
}
public void setVoteNum(int voteNum) {
this.voteNum = voteNum;
}
public int getGroupId() {
return groupId;
}
public void setGroupId(int groupId) {
this.groupId = groupId;
}
public boolean isStatus() {
return status;
}
public void setStatus(boolean status) {
this.status = status;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
@Override
public String toString() {
return "VoteRecord{" +
"id=" + id +
", userId='" + userId + '\'' +
", voteNum=" + voteNum +
", groupId=" + groupId +
", status=" + status +
", createTime=" + createTime +
'}';
}
}
2、mapper
package com.wanqi.mapper;
import com.wanqi.pojo.VoteRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.ResultType;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.cursor.Cursor;
import org.apache.ibatis.mapping.ResultSetType;
import org.apache.ibatis.session.ResultHandler;
import java.util.List;
/**
* @Description TODO
* @Version 1.0.0
* @Date 2022/9/12
* @Author wandaren
*/
@Mapper
public interface VoteRecordMapper {
// @Select("select id, user_id as userId, vote_num as voteNum, group_id as groupId, status, create_time as createTime from vote_record")
// @Options(resultSetType = ResultSetType.FORWARD_ONLY, fetchSize = Integer.MIN_VALUE)
// @ResultType(VoteRecord.class)
void all(ResultHandler<VoteRecord> resultHandler);
}
3、mapper配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wanqi.mapper.VoteRecordMapper">
<select id="all" resultType="com.wanqi.pojo.VoteRecord" resultSetType="FORWARD_ONLY"
fetchSize="-2147483648">
select id, user_id as userId, vote_num as voteNum, group_id as groupId, status, create_time as createTime
from vote_record
</select>
</mapper>
:::info
this.query.getResultType() == Type.FORWARD_ONLY
this.query.getResultFetchSize() == Integer.MIN_VALUE?
:::
- fetchSize必须设置成-2147483648
4、自定义处理结果集
package com.wanqi.handler;
import com.wanqi.pojo.VoteRecord;
import org.apache.ibatis.session.ResultContext;
import org.apache.ibatis.session.ResultHandler;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.List;
/**
* @Description TODO
* @Version 1.0.0
* @Date 2022/9/12
* @Author wandaren
*/
public class V