java setfetchsize,Java ResultSet.getFetchSize方法代码示例

import java.sql.ResultSet; //导入方法依赖的package包/类

@Override

public SagaInstance find(String sagaType, String sagaId) {

Objects.requireNonNull(sagaType);

Objects.requireNonNull(sagaId);

logger.info("finding {} {}", sagaType, sagaId);

SagaInstance sagaInstance = null;

String psSelect = "SELECT saga_type,saga_id,state_name,last_request_id, saga_data_type, saga_data_json FROM saga_instance WHERE saga_type = ? AND saga_id = ?";

String psSelect_dest = "SELECT destination, resource FROM saga_instance_participants WHERE saga_type = ? AND saga_id = ?";

try (final Connection connection = dataSource.getConnection()) {

PreparedStatement stmt = connection.prepareStatement(psSelect_dest);

stmt.setString(1, sagaType);

stmt.setString(2, sagaId);

ResultSet rs2 = stmt.executeQuery();

Set destinationsAndResources = new HashSet<>();

while (rs2.next()) {

DestinationAndResource destinationsAndResource = new DestinationAndResource(rs2.getString("destination"), rs2.getString("resource"));

destinationsAndResources.add(destinationsAndResource);

}

stmt = connection.prepareStatement(psSelect);

stmt.setString(1, sagaType);

stmt.setString(2, sagaId);

ResultSet rs = stmt.executeQuery();

if (rs == null || rs.getFetchSize() > 1) {

logger.error("incorrect fetch result {}, {}", sagaType, sagaId);

} else {

while (rs.next()) {

sagaInstance = new SagaInstance(sagaType, sagaId, rs.getString("state_name"), rs.getString("last_request_id"),

new SerializedSagaData(rs.getString("saga_data_type"), rs.getString("saga_data_json")), destinationsAndResources);

}

}

} catch (SQLException e) {

logger.error("SqlException:", e);

}

return sagaInstance;

// TODO insert - sagaInstance.getDestinationsAndResources();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值