客串 java 开发:数据库访问的流程简化
2009-10-13 00:00:00 来源:WEB开发网package queen.data;
/*
* 统一数据访问接口
*
* @author Howard Queen
* @version 1.0.1, 2010/10/12
* */
public interface IExecutor {
String getConnectionString();
void setConnectionString(String value) throws Exception;
int getTimeout();
void setTimeout(int value);
/*
* 执行语句获取数据集
* */
QueryResult executeQuery(String statement) throws Exception;
/*
* 执行语句获取单个数据
* */
Object executeScale(String statement) throws Exception;
/*
* 执行语句获取影响的行数或其他。
* */
int executeNonQuery(String statement) throws Exception;
}
为了便于在获取数据后集中释放非托管资源,我使用自定义的 QueryResult 类返回查询结果,而不是官方 ResultSet 。该类主要提供 close() 方法,其定义如下:
package queen.data;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/*
* 数据返回类,便于集中释放相关非托管资源。
*
* @author Howard Queen
* @version 1.0.1, 2010/10/13
* */
public final class QueryResult {
private Connection _connection;
private Statement _statement;
private ResultSet _resultSet;
public QueryResult(Connection connection, Statement statement, ResultSet resultSet){
_connection = connection;
_statement = statement;
_resultSet = resultSet;
}
private Connection getConnection(){
return _connection;
}
private Statement getStatement(){
return _statement;
}
public ResultSet getResultSet(){
return _resultSet;
}
public void close() throws SQLException{
getResultSet().close();
getStatement().close();
getConnection().close();
}
}
更多精彩
赞助商链接