社区
Java SE
帖子详情
ResultSet结果集再次赋值问题
jingying838
2011-08-31 10:40:18
在jdbc对数据库进行查询时,返回的ResultSet结果集对象如果没被close就再次被赋值,请问原来那个结果集是否还在堆中存在?
...全文
372
6
打赏
收藏
ResultSet结果集再次赋值问题
在jdbc对数据库进行查询时,返回的ResultSet结果集对象如果没被close就再次被赋值,请问原来那个结果集是否还在堆中存在?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
闷头挣钱
2011-08-31
打赏
举报
回复
[Quote=引用 4 楼 leehomwong 的回复:]
如果你不使用连接池,那么就没有什么问题,一旦Connection关闭,数据库物理连接就被释放,所有相关Java资源也可以被GC回收了。
但是如果你使用连接池,那么请注意,Connection关闭并不是物理关闭,只是归还连接池,所以PreparedStatement和ResultSet都被持有,并且实际占用相关的数据库的游标资源,在这种情况下,只要长期运行,往往就会报“游标超出数据库允许的最……
[/Quote]
自己做一个连接池,链接归还的时候清理一下呗,包括自动提交状态啥的
24K純帥
2011-08-31
打赏
举报
回复
如果你不使用连接池,那么就没有什么问题,一旦Connection关闭,数据库物理连接就被释放,所有相关Java资源也可以被GC回收了。
但是如果你使用连接池,那么请注意,Connection关闭并不是物理关闭,只是归还连接池,所以PreparedStatement和ResultSet都被持有,并且实际占用相关的数据库的游标资源,在这种情况下,只要长期运行,往往就会报“游标超出数据库允许的最大值”的错误,导致程序无法正常访问数据库
这是robbin大侠说的
风尘中国
2011-08-31
打赏
举报
回复
个人意见:重新赋值的话应该是重新返回一块内存了,原来ResultSet数据的那块内存应该会被自动回收
ydj552110737
2011-08-31
打赏
举报
回复
长时间不用会被垃圾收集器带走
kiss601459202
2011-08-31
打赏
举报
回复
没有 close 就没有释放
AndsionLee
2011-08-31
打赏
举报
回复
我觉得LZ没问这么复杂。Rs没有Close() 就赋值, 原来的RS还在不在。 显然不在嘛。引用类型当前重新赋值则改变原有的值,如果是重New 一个则不改变。
JDBC核心技术精讲
本课程《JDBC核心技术精讲》为JavaWeb必学课程。课程内容丰富全面,全程手写代码,可以带你一步一步学会JDBC!课程内容涵盖如下:1、JDBC概述及核心类介绍 2、JDBC入门案例 3、Statement对象介绍和使用4、JDBC使用格式的代码规范化5、
ResultSet
结果
集
的使用和讲解 6、结果
集
元数据对象讲解 7、sql攻击的讲解 8、预处理PreparedStatement对象的讲解9、mysql的预处理功能开启 10、JDBC中日期时间类型讨论11、通过JDBC存储和取出音频和视频数据 12、批处理概述13、事务概述及事务的四大特性 14、mysql中使用事务 15、jdbc中使用事务 16、数据库连接池的介绍和使用(DBCP/C3P0/Druid)17、DBUtils工具的使用18、详细讲述结果
集
处理器的使用
jdbc的使用(二)--结果
集
ResultSet
、元数据、预编译PreparedStatement对象、批处理(batch)
文章目录1. 结果
集
ResultSet
1.1 结果
集
ResultSet
的滚动特性1.2 结果
集
ResultSet
的敏感和可更新特性1.3 ResulstSet给我们提供了一些静态参数!2. 元数据 1. 结果
集
ResultSet
1.1 结果
集
ResultSet
的滚动特性 何为滚动? 如果结果
集
的光标,既可以向上移动,又可以向下移动就称之为可滚动的结果
集
;如果只能向下移动则称为不可滚动的结果
集
! 按照jdbc标准默认的结果
集
,不可滚动!但mysql并没有遵循jdbc的标准,mysql的默认结果
集
就是滚动的!
精通Mybatis之结果
集
处理流程与映射体系(MetaObJect工具以及嵌套子查询)(一)
前言 这段时间小编工作较忙,然后好久没更新博客了,上次小编在博客精通Mybatis之Jdbc处理器StatementHandler还落下了对结果
集
封装处理以及MetaObject反射工具的详细讲解。结果
集
的封装映射比较复杂,一次肯定讲解不完,小编打算分两次讲完。首先我们来回顾一下查询后结果
集
处理流程,
再次
查看其源码中的步骤,然后讲解一下MetaObject和一部分映射体系。 结果
集
处理流程 通过StatementHandler执行sql查询到结果
集
后,如下图处理:
resultSet
Handler由一条或
eclipse连接access结果
集
自动关闭报错
在进行数据库操作时,
resultset
结果
集
出现自动关闭错误。 如下代码:先根据第一个结果
集
结果进行
再次
查询。相当于双表查询 出现
问题
为第二个结果
集
遍历结束后,第一个结果
集
自动关闭,不进行下一个循环 package hospital; import java.sql.Connection; import java.sql.
ResultSet
; import java.sql.SQL
java:asm实现
ResultSet
结果映射到实体类
1 前言Spring-core包中提供了许多方便的工具类,其中org.springframework.cglib.beans下的BeanCopier工具类,主要用于bean之间的属性拷贝,性能上优于Spring-beans包下的org.springframework.beans.BeanUtils的copyProperties方法属性拷贝。因为BeanCopier的属性拷贝,本质上是通过asm,即java字节码来动态生成bean的get、set
赋值
的方法,相比于BeanUtils的copyPropertie
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章