package cn.lingqi.tool;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import oracle.jdbc.OracleTypes;
public class DBConnection {
// for Oracle
static private String strDriver = "oracle.jdbc.OracleDriver";
static private String strUrl = "jdbc:oracle:thin:@192.168.1.8:1521:huahua";
static private String strUser = "scmgroup2";
static private String strPwd = "123";
private Connection conn = null;
private Statement stmt = null;
private ResultSet rs = null;
static {
try {
Class.forName(strDriver);
} catch (ClassNotFoundException ex) {
System.out.println("Error load" + strDriver);
}
}
public DBConnection() {
}
public ResultSet executeQuery(String sql) {
try {
rs = getStatement().executeQuery(sql);
} catch (SQLException ex) {
System.err.println("query error:" + ex.getMessage());
}
return rs;
}
public boolean executeBatch(java.util.ArrayList sqls) {
boolean bRet = false;
try {
conn = getConnection();
conn.setAutoCommit(false);
stmt = conn.createStatement();
for (int i = 0; i < sqls.size(); i++) {
String sql = (String) sqls.get(i);
stmt.addBatch(sql);
}
stmt.executeBatch();
conn.commit();
bRet = true;
} catch (Exception ex) {
try {
conn.rollback();
} catch (Exception ex2) {
System.err.println("rollback failed:" + ex2.getMessage());
}
ex.printStackTrace();
} finally {
}
return bRet;
}
public int executeUpdate(String sql) {
int resultNum = 0;
try {
resultNum = getStatement().executeUpdate(sql);
} catch (SQLException ex) {
System.err.println("update error:" + ex.getMessage());
} finally {
}
return resultNum;
}
public void close() {
try {
if (rs != null) {
rs.close();
rs = null;
}
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (Exception ex) {
System.err.println("close error:" + ex.getMessage());
}
}
private Connection getConnection() {
try {
if (conn == null || conn.isClosed())
conn = DriverManager.getConnection(strUrl, strUser, strPwd);
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
return conn;
}
private Statement getStatement() {
try {
if (stmt == null)
stmt = getConnection().createStatement();
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
return stmt;
}
public static void callFunctionCursor(String dept_id){
try{
DBConnection db = new DBConnection();
Connection conn = db.getConnection();
//拿到调用statement
CallableStatement func = conn.prepareCall("{ ? = call my_test_fun ( ? ) }");
func.registerOutParameter(1,OracleTypes.CURSOR);
func.setString(2,dept_id);
func.execute();
ResultSet rset = (ResultSet)func.getObject(1);
while (rset.next ()) {
System.out.println( "empid:"+ rset.getString (1)+"\t empname:" + rset.getString (2) + "\t deptid:" + rset.getString((3)) );
}
func.close();
db.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void callProcedureIn(int tt,String empid,String empname,String deptid){
try {
DBConnection db = new DBConnection();
Connection conn = db.getConnection();
CallableStatement func = conn.prepareCall("{call test1_pac.pro_test1(?,?,?,?)}");
func.registerOutParameter(1, OracleTypes.INTEGER);
func.setInt(1, tt);
func.setString(2, empid);
func.setString(3, empname);
func.setString(4, deptid);
func.execute();
int aa = (Integer) func.getObject(1);
if (aa ==1){System.out.println("error");}
if (aa ==0){System.out.println("insert successful");}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
callProcedureIn(99,"9990","emp_9990","1");
// callFunction("1");
// callFunctionNoArgu();
// callFunctionCursor("1");
// callProcedureIn("22","jjh","1");
// callProcedureInOut("2");
//callFunctionCursor("1");
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
Struts 新闻管理系统.rar (144个子文件)
folders.js.bak 6KB
DBConnection.class 5KB
NewsFormDAO.class 4KB
NewsOptionAction.class 4KB
LogonAction.class 3KB
SetCharacterEncodingFilter.class 2KB
NewsForm.class 2KB
LogonForm.class 1KB
.classpath 1KB
outbar.css 2KB
style.css 956B
24.gif 3KB
13.gif 3KB
19.gif 3KB
22.gif 3KB
10.gif 3KB
1.gif 2KB
2.gif 2KB
12.gif 2KB
11.gif 2KB
5.gif 2KB
s02.gif 2KB
16.gif 2KB
18.gif 2KB
6.gif 2KB
8.gif 2KB
23.gif 2KB
21.gif 2KB
15.gif 2KB
7.gif 2KB
3.gif 2KB
14.gif 2KB
9.gif 2KB
4.gif 2KB
20.gif 2KB
17.gif 2KB
background.gif 1KB
ardn.gif 900B
arup.gif 898B
sort_left1.gif 838B
sort_right2.gif 725B
new.gif 348B
notnew.gif 348B
notcancel.gif 330B
cancel.gif 330B
delete.gif 306B
notdelete.gif 306B
search.gif 242B
notsearch.gif 242B
selectDate.gif 241B
notsave.gif 223B
save.gif 223B
edit.gif 219B
confirm.gif 176B
notconfirm.gif 176B
notreset.gif 172B
reset.gif 172B
bgcolor.gif 151B
toolbar.gif 151B
send.gif 149B
arup2.gif 149B
notsend.gif 149B
ardn2.gif 144B
sort_left.gif 79B
sort_right.gif 79B
sort_down.gif 66B
add.gif 66B
sort_up.gif 64B
dec.gif 60B
select.gif 56B
add_news.html 1KB
toolbar.html 4B
ojdbc14.jar 1.12MB
ojdbc14.jar 1.12MB
struts.jar 486KB
struts.jar 486KB
dwr.jar 179KB
dwr.jar 179KB
commons-collections.jar 161KB
commons-collections.jar 161KB
commons-beanutils.jar 116KB
commons-beanutils.jar 116KB
commons-digester.jar 107KB
commons-digester.jar 107KB
commons-dbcp-1.2.jar 105KB
commons-dbcp-1.2.jar 105KB
jakarta-oro.jar 64KB
jakarta-oro.jar 64KB
commons-lang.jar 62KB
commons-lang.jar 62KB
commons-validator.jar 46KB
commons-validator.jar 46KB
commons-pool-1.2.jar 41KB
commons-pool-1.2.jar 41KB
commons-logging.jar 31KB
commons-logging.jar 31KB
commons-fileupload.jar 22KB
commons-fileupload.jar 22KB
struts-legacy.jar 10KB
struts-legacy.jar 10KB
共 144 条
- 1
- 2
120153216
- 粉丝: 6
- 资源: 31
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0