package com.oracledb;
import com.oracledb.type.*;
import java.sql.*;
/**
*
* @author FuWaer
* @version 1.0
*
*/
public class OracleHelper {
/**
*
* @param connectionString
* @param commandType
* @param commandText
* @return
* @throws Exception
*/
// public static DataSet ExecuteDataSet(String connectionString,
// CommandType commandType, String commandText) throws Exception {
// return ExecuteDataSet(new OracleConnection(connectionString),
// commandType, commandText);
// }
/**
*
* @param connectionString
* @param commandType
* @param commandText
* @param parameters
* @return
* @throws Exception
*/
// public static DataSet ExecuteDataSet(String connectionString,
// CommandType commandType, String commandText,
// Parameter... parameters) throws Exception {
// return ExecuteDataSet(new OracleConnection(connectionString),
// commandType, commandText, parameters);
// }
/**
*
* @param connection
* @param commandType
* @param commandText
* @return
* @throws Exception
*/
// public static DataSet ExecuteDataSet(OracleConnection connection,
// CommandType commandType, String commandText) throws Exception {
// return ExecuteDataSet(connection, commandType, commandText,
// new Parameter[0]);
// }
/**
*
* @param connection
* @param commandType
* @param commandText
* @param parameters
* @return
* @throws Exception
*/
// public static DataSet (OracleConnection connection,
// CommandType commandType, String commandText,
// Parameter... parameters) throws Exception {
//
// DataSet ds = new DataSet();
// if (commandType.equals(CommandType.Text)) {
// Statement s = connection.GetConnection().createStatement();
// ResultSet rs = s.executeQuery(commandText);
// ds.AddTable(ConvertResultSetToDataTable(rs));
// } else if (commandType.equals(CommandType.StoreProcedure)) {
//
// Parameter[] paras = parameters;
//
// String sql = "";
// for (int i = 0; i < paras.length; i++) {
// sql = sql + "?,";
// }
// if (sql.length() > 0) {
// sql = "(" + sql.substring(0, sql.length() - 1) + ")";
// }
//
// sql = "{ call " + commandText + sql + " }";
// CallableStatement proc = null;
// proc = connection.GetConnection().prepareCall(sql);
// for (int i = 0; i < paras.length; i++) {
// Parameter p = paras[i];
// if (p.parameterDirection == ParameterDirection.IN) {
// proc.setObject(i + 1, p.Value, p.parameterType);
// } else if (p.parameterDirection == ParameterDirection.OUT) {
// proc.registerOutParameter(i + 1, p.parameterType);
// }
// }
// try {
// proc.execute();
//
// for (int i = 0; i < paras.length; i++) {
// Parameter p = paras[i];
// if (p.parameterDirection == ParameterDirection.OUT) {
// p.Value = proc.getObject(i + 1);
// if (p.parameterType == oracle.jdbc.OracleTypes.CURSOR) {
// ResultSet rs = (ResultSet) p.Value;
// DataTable dt = ConvertResultSetToDataTable(rs);
// DataSet _lds = new DataSet();
// _lds.AddTable(dt);
// p.Value = _lds;
// ds.AddTable(dt);
// }
// }
// }
// } catch (Exception e) {
// throw e;
// } finally {
// connection.Close();
// }
//
// } else {
// throw new Exception("commandType is invalid");
// }
//
// return ds;
// }
/**
*
* @param transaction
* @param commandType
* @param commandText
* @return
* @throws Exception
*/
// public static DataSet ExecuteDataSet(OracleTransaction transaction,
// CommandType commandType, String commandText) throws Exception {
// return ExecuteDataSet(transaction.Connection, commandType, commandText);
// }
/**
*
* @param transaction
* @param commandType
* @param commandText
* @param parameters
* @return
* @throws Exception
*/
// public static DataSet ExecuteDataSet(OracleTransaction transaction,
// CommandType commandType, String commandText,
// Parameter... parameters) throws Exception {
// return ExecuteDataSet(transaction.Connection, commandType, commandText,
// parameters);
// }
/**
*
* @param connectionString
* @param commandType
* @param commandText
* @throws Exception
*/
public static void ExecuteNonQuery(String connectionString,
CommandType commandType, String commandText) throws Exception {
ExecuteNonQuery(new OracleConnection(connectionString), commandType,
commandText);
}
/**
*
* @param connectionString
* @param commandType
* @param commandText
* @param parameters
* @throws Exception
*/
public static void ExecuteNonQuery(String connectionString,
CommandType commandType, String commandText,
Parameter... parameters) throws Exception {
ExecuteNonQuery(new OracleConnection(connectionString), commandType,
commandText, parameters);
}
/**
*
* @param connection
* @param commandType
* @param commandText
* @throws Exception
*/
public static void ExecuteNonQuery(OracleConnection connection,
CommandType commandType, String commandText) throws Exception {
ExecuteNonQuery(connection, commandType, commandText, new Parameter[0]);
}
/**
*
* @param connection
* @param commandType
* @param commandText
* @param parameters
* @throws Exception
*/
public static void ExecuteNonQuery(OracleConnection connection,
CommandType commandType, String commandText,
Parameter... parameters) throws Exception {
if (commandType.equals(CommandType.Text)) {
Statement s = connection.GetConnection().createStatement();
s.execute(commandText);
} else if (commandType.equals(CommandType.StoreProcedure)) {
Parameter[] paras = parameters;
String sql = "";
for (int i = 0; i < paras.length; i++) {
sql = sql + "?,";
}
if (sql.length() > 0) {
sql = "(" + sql.substring(0, sql.length() - 1) + ")";
}
sql = "{ call " + commandText + sql + " }";
CallableStatement proc = null;
proc = connection.GetConnection().prepareCall(sql);
for (int i = 0; i < paras.length; i++) {
Parameter p = paras[i];
if (p.parameterDirection == ParameterDirection.IN) {
proc.setObject(i + 1, p.Value, p.parameterType);
} else if (p.parameterDirection == ParameterDirection.OUT) {
proc.registerOutParameter(i + 1, p.parameterType);
}
}
try {
proc.execute();
for (int i = 0; i < paras.length; i++) {
Parameter p = paras[i];
if (p.parameterDirection == ParameterDirection.OUT) {
p.Value = proc.getObject(i + 1);
if (p.parameterType == oracle.jdbc.OracleTypes.CURSOR) {
ResultSet rs = (ResultSet) p.Value;
DataTable dt = ConvertResultSetToDataTable(rs);
DataSet _lds = new DataSet();
_lds.AddTable(dt);
p.Value = _lds;
}
}
}
} catch (Exception e) {
throw e;
} finally {
connection.Close();
}
} else {
throw new Exception("commandType is invalid");
}
}
/**
*
* @param transaction
* @param commandType
* @param commandText
* @throws Exception
*/
public static void ExecuteNonQuery(OracleTransaction transaction,
CommandType commandType, String commandText) throws Exception {
ExecuteNonQuery(transaction.Connection, commandType, commandText);
}
/**
*
* @param transaction
* @param commandType
* @param commandText
* @param parameters
* @throws Exception
*/
public static void ExecuteNonQuery(OracleTransaction transaction,
CommandType commandType, String commandText,
Parameter... parameters) throws Exception {
ExecuteNonQuery(transaction.Connection, commandType, commandText,
parameters);
}
/**
* 将ResultSet装换为DataTable的函数
*
* @param rs
* @return
* @throws Exception
*/
没有合适的资源?快使用搜索试试~ 我知道了~
java servlet+Jdbc+Oracle
共41个文件
class:13个
java:13个
xml:2个
需积分: 9 13 下载量 155 浏览量
2017-08-06
16:48:06
上传
评论
收藏 1.94MB RAR 举报
温馨提示
1:web页面调用java servlet 访问后台Oracle数据,返回结果给前台 2:myeclipse 环境
资源推荐
资源详情
资源评论
收起资源包目录
JavaServlet+JDBC+Oracle.rar (41个子文件)
.project 2KB
.mymetadata 285B
src
com
acion
LoginServlet.java 3KB
oracledb
DbUtil.java 975B
MyOracleDB.java 4KB
OracleHelper.java 8KB
type
Parameter.java 781B
DataSet.java 589B
CommandType.java 150B
DataTable.java 537B
DataRow.java 566B
DataColumn.java 306B
OracleTransaction.java 976B
ParameterDirection.java 130B
OracleConnection.java 1KB
util
WebRoot
WEB-INF
classes
com
acion
LoginServlet.class 3KB
oracledb
DbUtil.class 2KB
MyOracleDB.class 4KB
OracleHelper.class 5KB
type
DataColumn.class 583B
Parameter.class 1KB
DataRow.class 874B
OracleConnection.class 2KB
ParameterDirection.class 1KB
OracleTransaction.class 1KB
DataSet.class 873B
DataTable.class 859B
CommandType.class 1KB
util
lib
ojdbc6.jar 2.01MB
web.xml 744B
index.jsp 1000B
aaa.html 431B
META-INF
MANIFEST.MF 36B
login.jsp 356B
.myeclipse
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.common.project.facet.core.xml 252B
org.eclipse.jdt.core.prefs 395B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.component 450B
.jsdtscope 500B
.classpath 529B
共 41 条
- 1
资源评论
bingzisky2009
- 粉丝: 1
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功