更新时间:2025-08-19 GMT+08:00
完整示例
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; public class BatchQuery { public static Connection getConnection() throws ClassNotFoundException, SQLException { String driver = "com.huawei.gaussdb.jdbc.Driver"; // 指定数据库sourceURL($ip、$port、database请根据业务场景进行修改)。 String sourceURL = "jdbc:gaussdb://$ip:$port/database"; // 用户名和密码从环境变量中获取。 String userName = System.getenv("EXAMPLE_USERNAME_ENV"); String password = System.getenv("EXAMPLE_PASSWORD_ENV"); Class.forName(driver); return DriverManager.getConnection(sourceURL, userName, password); } public static void main(String[] args) { String selectSql = "select * from tab_test"; try (Connection conn = getConnection(); PreparedStatement preparedStatement = conn.prepareStatement(selectSql)) { conn.setAutoCommit(false); preparedStatement.setFetchSize(3); try (ResultSet resultSet = preparedStatement.executeQuery()) { while (resultSet.next()) { // 打印部分查询结果。 int id = resultSet.getInt(1); System.out.println("row:" + resultSet.getRow() + ",id :" + id); } ResultSetMetaData metaData = resultSet.getMetaData(); System.out.println("结果列:" + metaData.getColumnCount()); System.out.println("类型编号:" + metaData.getColumnType(1)); System.out.println("类型名:" + metaData.getColumnTypeName(1)); System.out.println("列名:" + metaData.getColumnName(1)); } conn.commit(); } catch (ClassNotFoundException | Exception e) { throw new RuntimeException(e); } } }
结果验证
完整示例运行结果如下:
row:1,id :1 row:2,id :2 row:3,id :3 row:4,id :4 row:5,id :5 结果列:2 类型编号:4 类型名:int4 列名:id
回退方法
若需关闭批量查询功能,则去除连接串的fetchsize参数并且重新设置setFetchSize为默认值0。
父主题: 操作步骤