更新时间: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。
父主题: 操作步骤