📄 sqlexecutor.java
字号:
package ffcs.db;
/**
* <p>Title: 短信网关网管接口程序</p>
* <p>Description: </p>
* <p>Copyright: Copyright (福富软件技术股份有限公司) 2005</p>
* <p>Company: 福富软件技术股份有限公司</p>
* @author huangcm
* @version 1.0
*/
import java.sql.*;
/**
* Class responsible for executing the SQL
*/
public class SqlExecutor {
public static final int NO_SKIPPED_RESULTS = 0;
/**
* Constant to let us know to include all records
*/
public static final int NO_MAXIMUM_RESULTS = -999999;
/**
*
* @param conn Connection
* @param sql String
* @throws SQLException
* @return int
*/
public int executeUpdate(Connection conn, String sql) throws SQLException {
Statement state = null;
int rows = 0;
try {
state = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY);
rows = state.executeUpdate(sql);
} finally {
closeStatement(state);
}
return rows;
}
public ResultSet executeQuery(Connection conn, String sql) throws
SQLException {
Statement stat = null;
ResultSet rs = null;
stat = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY);
rs = stat.executeQuery(sql);
return rs;
}
/**
*
* @param conn Connection
* @param sql String
* @param callback ResultSetCallback
* @throws SQLException
*/
public void executeQuery(Connection conn, String sql,
ResultSetCallback callback) throws SQLException {
executeQuery(conn, sql, 0, 0, 0, callback);
}
/**
* @param conn Connection
* @param sql String
* @param skipResults int
* @param maxResults int
* @param fetchSize int
* @param callback ResultSetCallback
* @throws SQLException
*/
public void executeQuery(Connection conn, String sql,
int skipResults, int maxResults,
int fetchSize, ResultSetCallback callback) throws
SQLException {
Statement stat = null;
ResultSet rs = null;
try {
stat = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY);
if (fetchSize != 0) {
stat.setFetchSize(fetchSize);
}
rs = stat.executeQuery(sql);
handleResults(rs, skipResults, maxResults, callback);
} finally {
closeResultSet(rs);
closeStatement(stat);
}
}
/**
*
* @param rs ResultSet
* @param skipResults int
* @param maxResults int
* @param callback ResultSetCallback
* @throws SQLException
*/
private void handleResults(ResultSet rs,
int skipResults,
int maxResults, ResultSetCallback callback) throws
SQLException {
if (rs.getType() != ResultSet.TYPE_FORWARD_ONLY) {
if (skipResults > 0) {
rs.absolute(skipResults);
}
} else {
for (int i = 0; i < skipResults; i++) {
if (!rs.next()) {
break;
}
}
}
// Get Results
int resultsFetched = 0;
while ((maxResults == SqlExecutor.NO_MAXIMUM_RESULTS ||
resultsFetched < maxResults) && rs.next()) {
callback.handleResult(rs);
resultsFetched++;
}
}
/**
* @param ps
*/
private static void closeStatement(Statement stat) {
if (stat != null) {
try {
stat.close();
} catch (SQLException e) {
// ignore
}
}
}
/**
* @param rs
*/
private static void closeResultSet(ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
// ignore
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -