import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import javax.sql.DataSource; import com.mchange.v2.c3p0.ComboPooledDataSource; public class TransactionExample { private static final String INSERT_QUERY = "INSERT INTO users (id, name, email) VALUES (?, ?, ?)"; public static void main(String[] args) { DataSource dataSource = setupDataSource(); Connection connection = null; PreparedStatement statement = null; try { connection = dataSource.getConnection(); statement = connection.prepareStatement(INSERT_QUERY); statement.setInt(1, 1); statement.setString(2, "John Doe"); statement.setString(3, "john.doe@example.com"); statement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); if (connection != null) { try { } catch (SQLException ex) { ex.printStackTrace(); } } } finally { if (statement != null) { try { statement.close(); } catch (SQLException e) { e.printStackTrace(); } } if (connection != null) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } } private static DataSource setupDataSource() { ComboPooledDataSource dataSource = new ComboPooledDataSource(); dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mydatabase"); dataSource.setUser("username"); dataSource.setPassword("password"); return dataSource; } } <c3p0-config> <named-config name="default"> <property name="jdbcUrl">jdbc:mysql://localhost:3306/mydatabase</property> <property name="user">username</property> <property name="password">password</property> <property name="maxPoolSize">50</property> <property name="minPoolSize">5</property> <property name="maxIdleTime">1800</property> </named-config> </c3p0-config>


上一篇:
下一篇:
切换中文