首页 > 代码库 > 服务器用JDBC对mysql数据库进行操作

服务器用JDBC对mysql数据库进行操作


1:获取数据库连接

Connection connection=getConnection();

2:准备SQL语句

3:调用Connection的creatStatement()方法获取Statement对象执行SQL语句

(注:Statement对象处理的SQL语句只能是INSERT,UPDATE或DELETE)
statement=connection.createStatement();
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);
		}
	}