mybatis oracle java.sql.SQLException: 流已被关闭问题

时间:2022-07-10 22:51:12
/**
* 按照页码取值(从current_page页开始,每页page_size条)
* @param key
* @param params
* @param current_page
* @param page_size
* @return
*/
public <T> Pagination getPaginationByPage(String key, Object params,int current_page,int page_size) {
int count = (Integer) getSqlSession().selectOne(key+"_count", params);
List<Object> list = getSqlSession().selectList(key, params,new RowBounds((current_page - 1) * page_size, page_size));
Pagination pagination = new Pagination();
pagination.paging(current_page, page_size, count);
pagination.setList(list);
return pagination;
}

  在执行分页查询时,经常出现 java.sql.SQLException: 流已被关闭问题

      排查出项目中Oracle库中表字段使用了Long类型,而不是Number,改为Number正常额。

 

      ResultSet 接口提供用于从当前行获取列值的获取 方法(getBoolean、getLong 等)。可以使用列的索引编号或列的名称获取值。

      一般情况下,使用列索引较为高效。列从 1 开始编号。为了获得最大的可移植性,应该按从左到右的顺序读取每行中的结果集列,每列只能读取一次。