社区
Java SE
帖子详情
怎么理解:ResultSet rs=statement.executeQuery(String sql)?
qinliu0425
2004-05-07 05:27:45
ResultSet 是一个接口,为什么却可以通过statement的方法返回一个实例?executeQuery是怎么生成ResultSet 实例的?
...全文
1193
6
打赏
收藏
怎么理解:ResultSet rs=statement.executeQuery(String sql)?
ResultSet 是一个接口,为什么却可以通过statement的方法返回一个实例?executeQuery是怎么生成ResultSet 实例的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wuyaxlz
2004-05-07
打赏
举报
回复
1
做程序要不求甚解!什么都问为什么你没法做好程序的。我老师教的
moke33
2004-05-07
打赏
举报
回复
注意,返回的只是实例的引用,它们实现了ResultSet接口,当然可以指向它们了
cxz7531
2004-05-07
打赏
举报
回复
你可以把mysql的jdbc驱动包mm.mysql-2.0.4-bin.jar 解开 ,就可以看到Connection,statement,ResultSet这几个接口的实现类
Arias
2004-05-07
打赏
举报
回复
就是!本身驱动就有他们的实现方法!
dragon525
2004-05-07
打赏
举报
回复
Connection,statement,ResultSet这些都是接口!
真正的实现得有jdbc的驱动来实现!
pleonheart
2004-05-07
打赏
举报
回复
sun的JDBC只是规范了JDBC需要实现的方法,既是接口
所有的实现都是由数据库厂商完成,比如oracle的jar,db2的jar
Java
ResultSet
本质是游标而非结果集
ResultSet
并非内存中的结果集合,而是JDBC定义的数据库游标抽象,代表客户端对服务端数据流的访问句柄。其行为受fetchSize、type、concurrency和holdability四大维度控制,实际表现高度依赖驱动与数据库版本。关键陷阱包括字段索引漂移、时间类型解析混乱、BLOB/CLOB内存溢出,以及关闭顺序错误导致的连接泄露。正确
理解
其游标本质,是实现高效、安全数据库交互的基础。
JDBC底层原理面试通关:连接池、Prepared
Statement
与
ResultSet
真相
本文深入剖析JDBC规范与驱动实现的三层契约关系,重点揭示Prepared
Statement
预编译的实际位置(客户端/服务端)、
ResultSet
游标背后的网络流式IO模型,以及连接池(如HikariCP)在连接获取、空闲连接清理和泄漏检测中的底层机制。内容覆盖My
SQL
8.0+、Postgre
SQL
、OceanBase等驱动差异,强调
SQL
注入防护边界、批量操作IO优化、游标敏感性与锁机制、连接泄漏根因定位等关键技术点,均基于JDK 17与主流驱动实测验证。
SQL
注入攻击原理与防范实战:告别WHERE 1=1拼接漏洞
本文深入剖析
SQL
注入攻击原理,重点揭示'WHERE 1=1'字符串拼接导致的逻辑篡改风险;系统阐述参数化查询(预编译语句)作为首选防御手段的核心机制与多语言实现;补充存储过程、输入验证、最小权限、WAF及安全审计等纵深防御策略;并辨析ORDER BY动态列名、二次注入等高级风险及ORM使用误区。
JDBC核心接口解析:
Statement
、Prepared
Statement
与Callable
Statement
实战
JDBC作为Java连接数据库的标准API,其核心接口
Statement
、Prepared
Statement
和Callable
Statement
是开发者必须掌握的基础技术。这些接口通过
SQL
预编译、参数绑定等机制,有效解决了
SQL
注入风险、提升了查询性能。在企业级应用中,合理选择语句类型可显著优化数据库操作效率,特别是在高并发场景下的批处理操作和存储过程调用。通过连接池集成与语句缓存配置,能够进一步降低系统开销。本文结合尚硅谷技术社区实践经验,深入解析三种接口的底层原理、安全防护机制及性能优化方案,帮助开发
Java应用
SQL
注入防护:Find Security Bugs静态代码分析实战指南
本文系统介绍如何利用Find Security Bugs工具检测和防范Java应用中的
SQL
注入漏洞。涵盖其基于字节码的污点跟踪原理、IDE与Maven集成方法、对JDBC/ORM/动态
SQL
等典型漏洞模式的识别能力,以及误报抑制、CI/CD集成和渐进式修复策略。强调参数化查询、白名单校验、安全编码规范与DevSecOps流程融合,构建纵深防御体系。
Java SE
62,622
社区成员
307,255
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章