Querying a PostgreSQL Database in Java
Miller Trujillo
Staff Software Engineer
$$
$$


Connection conn = DriverManager.getConnection(DB_URL, USERNAME, PASSWORD) conn.setAutoCommit(false);try (...) { // Execute your SQL statements hereconn.commit();} catch (SQLException e) { conn.rollback(); }
// Reduce the sender's balance String withdrawSQL = "UPDATE accounts SET balance = balance - ? WHERE account_id = ? AND balance >= ?";// Increase the recipient's balance String depositSQL = "UPDATE accounts SET balance = balance + ? WHERE account_id = ?";
$$
UPDATE - modifies existing rows in a tableSET - specifies which columns to changetry (Connection conn = DriverManager.getConnection(DB_URL, USERNAME, PASSWORD)) {conn.setAutoCommit(false);try { try (PreparedStatement withdrawStmt = conn.prepareStatement(withdrawSQL); PreparedStatement depositStmt = conn.prepareStatement(depositSQL)) { // Set parameters and execute both statements... }conn.commit();} catch (SQLException e) { conn.rollback(); } }
$$

PreparedStatement pstmt = conn.prepareStatement("INSERT INTO transfers (sender_id, recipient_id, amount) VALUES (?, ?, ?)")for (Object[] transfer : transfers) { pstmt.setInt(1, (Integer) transfer[0]); pstmt.setInt(2, (Integer) transfer[1]); pstmt.setInt(3, (Integer) transfer[2]);pstmt.addBatch(); // Queue for later }int[] results = pstmt.executeBatch(); // Send all at once
Querying a PostgreSQL Database in Java