📄 dbcon.java
字号:
//Source file: C:\\Rose2Java\\zhsoft\\dbcon\\DBCon.javapackage zhsoft.dbcon;import java.util.*;import java.sql.*;import javax.naming.*;import javax.sql.*;/** * 数据库操作类 * * @author 雨亦奇(zhsoft88@sohu.com) * @version 1.0 * @since 2003.05.18 */public class DBCon{ /** * WebLogic服务器所在主机 */ private static final String HOST = "localhost"; /** * WebLogic服务器所用端口 */ private static final String PORT = "7001"; /** * 数据源名 */ private static final String NAME = "oracleDS"; /** * 环境配置 */ private static Hashtable conf; /* 静态共享数据初始化 */ static { conf = new Hashtable(); conf.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory"); conf.put(Context.PROVIDER_URL,"t3://" + HOST + ":" + PORT); } /** * 执行用户提供的SQL语句,并返回查询结果集 * * @param sql - 用户提供的SQL语句 * @return QueryResult * @throws java.lang.Exception * @roseuid 3ED550D5025F */ public static QueryResult runQuery(String sql) throws Exception { Context ctx = new InitialContext(conf); DataSource ds = (DataSource) ctx.lookup(NAME); Connection conn = ds.getConnection(); Statement stmt = conn.createStatement(); ResultSet rs; try{ rs = stmt.executeQuery(sql); } catch (Exception ex){ throw new Exception("SQL:\""+sql+"\" 执行出错,原因是:"+ex.getMessage()); } ResultSetMetaData rsmd = rs.getMetaData(); QueryResult result = new QueryResult(); while (rs.next()) { ResultRow row = new ResultRow(); for (int i=1;i<=rsmd.getColumnCount();i++) { row.put(rsmd.getColumnName(i),rs.getString(i)==null?"":rs.getString(i)); } result.add(row); } stmt.close(); conn.close(); ctx.close(); return result; } /** * 执行用户的SQL语句,进行数据库更新,并返回受影响的记录行数。 * * @param sql - 用户提供的SQL语句 * @return int * @throws java.lang.Exception * @roseuid 3ED550E601D3 */ public static int runUpdate(String sql) throws Exception { Context ctx = new InitialContext(conf); DataSource ds = (DataSource) ctx.lookup(NAME); Connection conn = ds.getConnection(); Statement stmt = conn.createStatement(); int rc; try { rc = stmt.executeUpdate(sql); } catch (Exception ex) { throw new Exception("SQL: \""+sql+"\" 执行出错,原因是:"+ex.getMessage()); } stmt.close(); conn.close(); ctx.close(); return rc; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -