📄 databaseaccess.java
字号:
//数据库访问的专用类
package database;
import java.sql.*;
/**
* 在JDBC基础上提供连接与访问数据库的方法
*/
public class DatabaseAccess
{
// 属性定义
protected java.sql.Connection conn = null; // 为数据库建立的连接
protected Statement statement;
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String DatabaseSource;// ="jdbc:odbc:BankingDataSource";
ConnectPool cp = null;
// 构造方法,建立与ODBC数据源dataSourceName的连接
public DatabaseAccess(String DatabaseSource)
{
this.DatabaseSource = DatabaseSource;
try {
Class.forName(driver);
cp = ConnectPool.getInstance(DatabaseSource);
// 建立与指定数据源的连接
conn =(Connection) cp.checkOut(null);
statement = conn.createStatement();
// 如果连接成功则检测是否有警告信息
java.sql.SQLWarning warn = conn.getWarnings();
while (warn != null) {
System.out.println(warn.getMessage());
warn = warn.getNextWarning();
}
} catch(java.sql.SQLException exc) {
exc.printStackTrace();
}catch(Exception exc){
exc.printStackTrace();
}
}
/**
* 把数据库的连接放回连接池。
*/
public void close()throws SQLException
{
//关闭连接
if(conn != null)conn.commit();
if(conn != null)cp.checkIn(conn);
}
/**
* 利用一条SQL语句执行数据库查询操作。
* 参数sql表示SQL查询语句串(如“SELECT * FROM user),返回查询结果集
*/
public ResultSet query(String sql)throws SQLException
{
ResultSet rs = statement.executeQuery(sql);
//statement.close();
return rs;
}
/**
* 利用一条SQL语句执行数据库更新操作。参数sql表示SQL更新语句串
*/
public void update(String sql)throws SQLException
{
statement.executeUpdate(sql);
//statement.close();
}
// 当前对象作为垃圾被收集时的回调方法,把数据库的连接放回连接池
public synchronized void finalize()
{
if (conn != null) {
try {
statement.close();
cp.checkIn(conn);
} catch(java.sql.SQLException exc) {
exc.printStackTrace();
}
conn = null;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -