java中用statement执行sql查询的核心步骤是:先加载jdbc驱动(jdbc 4.0+通常自动),再用drivermanager.getconnection()获取connection;接着调用createstatement()创建statement对象;然后用executequery()执行select语句并返回resultset;最后通过next()遍历结果集,用getstring()等方法读取数据,并确保connection、statement、resultset均被关闭。

Java 中用 Statement 执行 SQL 查询,核心是通过 JDBC 获取连接、创建 Statement 对象、调用 executeQuery() 方法获取 ResultSet,再遍历结果集读取数据。
获取数据库连接
先确保已加载驱动(JDBC 4.0+ 通常自动加载),再用 DriverManager.getConnection() 建立连接。需提供数据库 URL、用户名和密码:
- MySQL 示例 URL:
"jdbc:mysql://localhost:3306/your_db?useSSL=false&serverTimezone=UTC" - PostgreSQL:
"jdbc:postgresql://localhost:5432/your_db" - 连接需放在
try-with-resources或手动close(),避免泄漏
创建 Statement 并执行查询
调用 Connection.createStatement() 得到 Statement 实例,再用 executeQuery(String sql) 执行 SELECT 语句(不能用于 INSERT/UPDATE/DELETE):
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- SQL 字符串必须是完整、合法的查询语句,如
"SELECT id, name FROM users" - 该方法返回
ResultSet,代表查询结果的表格形式数据集 - 若误传非查询语句(如
"INSERT ..."),会抛出SQLException
处理 ResultSet 结果集
ResultSet 默认游标位于第一行之前,需调用 next() 移动到首行。常用方式是用 while 循环逐行读取:
- 用列名或列索引获取字段值:例如
rs.getString("name")或rs.getInt(1) - 注意列名大小写敏感性取决于数据库(如 MySQL 默认不区分,PostgreSQL 通常区分)
- 每列类型要与
getXXX()方法匹配,否则可能报SQLException或返回 null
资源释放与异常处理
Statement 和 ResultSet 都需显式关闭,推荐使用 try-with-resources 自动管理:
- 将
Connection、Statement、ResultSet全部声明在 try 括号内,JVM 会自动 close - 捕获
SQLException处理数据库相关错误,如连接失败、SQL 语法错误、表不存在等 - 不要忽略异常或仅打印堆栈——应记录日志或转换为业务异常向上抛出
不复杂但容易忽略。用好 Statement 的关键是按顺序做好连接、执行、遍历、关闭四步,并始终关注资源和异常。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










