dbconnection.java

来自「JAVA实现的酒店管理系统」· Java 代码 · 共 58 行

JAVA
58
字号
package file1;
/*
 * 功能描述:数据库连接类,实现对数据库访问的封装
 * @Author:黄顺武
 * Create Time:---
 * Last Modified:2007-12-15
 * Modify Reason:实现机制不完善
 * 
 */
import java.sql.*;
import java.util.*;
import sun.jdbc.rowset.*;

public class DBConnection {
	private final String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
	private final String datasource = "jdbc:odbc:jdmanagement";
	private Statement st = null;
	private Connection con = null;
	private CachedRowSet crs = null;
	private ResultSet rs=null;
	private Vector sqlVector = new Vector();// 存储sql语句的向量类型数组

	public DBConnection() {
	}

	public CachedRowSet getResultSet(String sql) throws SQLException,ClassNotFoundException {// 根据给定的sql语句查询数据库
			startConnection();
			crs=new CachedRowSet();
			rs = st.executeQuery(sql);
			crs.populate(rs);//把从数据库中查询得到的ResultSet 转化成CachedRowSet 是为了避免当把数据库联接关掉时查询得到的ResultSet变成不可操作的情况出现 
			if (con != null) {
				con.close();
			}
			return crs;
	}
	public void addSql(String sqlStr) {// 向本类中的Vector对象添加sql语句
		sqlVector.add(sqlStr);
	}

	public void doDML() throws SQLException,ClassNotFoundException {// 批量更新数据库
		startConnection();
		for (int count = 0; count < sqlVector.size(); count++) {
			st.addBatch((String) sqlVector.get(count));
		}
		st.executeBatch();
		if (con != null) {
			con.close();
		}
	}

	public void startConnection() throws ClassNotFoundException, SQLException {
		Class.forName(driver);
		con = DriverManager.getConnection(datasource);
		st = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
				ResultSet.CONCUR_READ_ONLY);
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?