作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个小代码片段,我需要从数据库获取一些数据,然后在其他一些java文件中处理结果。我尝试编写一个程序,但该程序的执行失败,并出现错误“无法访问结果集,因为连接已关闭”。
有什么方法可以将从数据库中获取的结果存储在某个位置(例如某些数组列表)并在关闭连接后将其用于计算?如果是,有人可以举例说明吗?由于我是新手,所以有点障碍。
Class A {
public Map<String, Object> loadDat(int acc,Map<String,Object> result)
throws Exception {
Class.forName("com.teradata.jdbc.TeraDriver");
Connection conn = DriverManager.getConnection(connectionString, user, password);
query = "select * from mytable where id="+acc;
PreparedStatement stmt = conn.prepareStatement(query);
ResultSet rs=stmt.executeQuery();
result.put(" Result", rs) ;
return result;
}
}
最佳答案
一般来说,不要手动编写 JDBC 数据库访问代码。现在已经存在执行所有低级 JDBC 处理的库,并且他们做得正确。你永远不会比成熟的人做得更好,开源项目已经做到了。
相反,学习和使用类似MyBatis的东西。如果你使用Spring,这是 Mybatis-Spring project 的链接.
MyBatis 隐藏了所有的数据转换和 JDBC 垃圾。相反,您可以在一个简单的 XML 文件中定义查询并接收一个列表作为查询的结果。
关于java - 关闭连接后使用结果集数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57045325/
我是一名优秀的程序员,十分优秀!