1:获取数据库连接
Connection connection=getConnection();
2:准备SQL语句
3:调用Connection的creatStatement()方法获取Statement对象执行SQL语句
(注:Statement对象处理的SQL语句只能是INSERT,UPDATE或DELETE)
statement=connection.createStatement();
statement.execute(SQL);
statement.execute(SQL);
4:关闭Statement对象
5:关闭数据库连接
将数据库连接等操作进行封装:
附:JDBCTools.java
/** * JDBC 的工具类 * * 其中包含: 获取数据库连接, 关闭数据库资源等方法. */ public class JDBCTools { //处理数据库事务的 //提交事务 public static void commit(Connection connection){ if(connection != null){ try { connection.commit(); } catch (SQLException e) { e.printStackTrace(); } } } //回滚事务 public static void rollback(Connection connection){ if(connection != null){ try { connection.rollback(); } catch (SQLException e) { e.printStackTrace(); } } } //开始事务 public static void beginTx(Connection connection){ if(connection != null){ try { connection.setAutoCommit(false); } catch (SQLException e) { e.printStackTrace(); } } } private static DataSource dataSource = null; //数据库连接池应只被初始化一次. static{ dataSource = new ComboPooledDataSource("helloc3p0"); } public static Connection getConnection() throws Exception { return dataSource.getConnection(); } public static void releaseDB(ResultSet resultSet, Statement statement, Connection connection) { if (resultSet != null) { try { resultSet.close(); } catch (SQLException e) { e.printStackTrace(); } } if (statement != null) { try { statement.close(); } catch (SQLException e) { e.printStackTrace(); } } if (connection != null) { try { //数据库连接池的 Connection 对象进行 close 时 //并不是真的进行关闭, 而是把该数据库连接会归还到数据库连接池中. connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
附:MySqlTools.java,对数据库进行操作
public static void update(String SQL){ Connection connection = null; Statement statement=null; try { connection = JDBCTools.getConnection(); statement=connection.createStatement(); statement.execute(SQL); } catch (Exception e) { e.printStackTrace(); } finally { JDBCTools.releaseDB(null, null, connection); } }