Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

50.11. 实例参考

50.11.1. 参数传递技巧

			
	public List<PendingTransaction> getPendingTransaction(String address, String contractAddress) {
		List<PendingTransaction> pendingTransactions = new ArrayList<PendingTransaction>();
		String sql;
		Object[] param;
		if (contractAddress == null || contractAddress.equals("")) {
			sql = "select * from pending_transaction where from_address = ? and contract_address IS NULL";
			param = new Object[] { address };
		} else {
			sql = "select * from pending_transaction where from_address = ? and contract_address = ?";
			param = new Object[] { address, contractAddress };
		}
		List<Map<String, Object>> rows = jdbcTemplate.queryForList(sql, param);

		for (Map<String, Object> row : rows) {
			PendingTransaction pendingTransaction = new PendingTransaction();
			pendingTransaction.setHash((String) row.get("hash"));
			pendingTransaction.setFrom((String) row.get("from_address"));
			pendingTransaction.setTo((String) row.get("to_address"));
			pendingTransaction.setValue((String) row.get("value"));
			pendingTransaction.setGas((String) row.get("gas"));
			pendingTransaction.setSymbol((String) row.get("symbol"));
			pendingTransaction.setContractAddress((String) row.get("contractAddress"));
			pendingTransactions.add(pendingTransaction);
		}
		logger.info("PendingTransaction:" + pendingTransactions.toString());
		return pendingTransactions;
	}