?? dataconfig.java
字號:
/**
* title:????????????????????
* desciprion:????????????????????
* @author:victor
* @version:v1.0
* 2005-10-12
*/
package good;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
/**
* DataConfig
*
* @author:victor
* @version:v1.0
*
*/
public abstract class DataConfig {
/**
* ??????????
*/
private Connection myConn = null;
private Statement stmt = null;
private DataSource ds = null;
private ResultSet rs = null;
private Context ctx = null;
private ArrayList sqlBatch = new ArrayList();
public DataConfig() {
}
/**
* ??????????????,??????????????
*/
public void setJNDI(String jndiName) {
try {
ctx = new InitialContext();
ds = (DataSource) ctx.lookup(jndiName);
} catch (Exception ex) {
System.err.println("SetJNDI is Error:" + ex.getMessage());
}
}
/**
* ????????????SQL????????????????
*/
public ResultSet executeQuery(String sql) {
rs = null;
try {
System.out.println(sql);
myConn = ds.getConnection();
stmt = myConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
System.out.println(sql);
rs = stmt.executeQuery(sql);
} catch (SQLException ex) {
System.err.println("ExecuteQuery is Error:" + ex.getMessage());
}
return rs;
}
/**
* ????SQL????????????????????????
*/
public void executeUpdate(String sql) {
stmt = null;
rs = null;
try {
myConn = ds.getConnection();
stmt = myConn.createStatement();
stmt.executeUpdate(sql);
} catch (SQLException ex) {
System.err.println("ExecuteUpdate is Error:" + ex.getMessage());
}
}
/**
* ??????????????????????????????????????????
*/
public void beginTransaction() {
stmt = null;
rs = null;
try {
myConn = ds.getConnection();
myConn.setAutoCommit(false);
stmt = myConn.createStatement();
} catch (SQLException ex) {
System.out.println("BeginTransaction is Error:" + ex.getMessage());
}
}
/**
* ??????????????????????????
*/
public void addBatch(String sql) {
sqlBatch.add(sql);
}
/**
* ??????????
*/
public void commitBatch() {
try {
for (int i = 0; i < sqlBatch.size(); i++) {
stmt.executeUpdate(sqlBatch.get(i).toString());
}
myConn.commit();
} catch (SQLException ex) {
System.out.println("Commit is Error:" + ex.getMessage());
try {
myConn.rollback();
} catch (SQLException e) {
System.out.println("Rollback is Error:" + e.getMessage());
}
}
}
/**
* ??????????????????????????????????????????
*/
public void endTransaction() {
try {
myConn.setAutoCommit(true);
} catch (Exception ex) {
System.out.println("endTransaction is error:" + ex.getMessage());
}
}
/**
* ??????????????????
*
* @return
*/
public Connection getConnection() {
myConn = null;
try {
myConn = ds.getConnection();
} catch (SQLException e) {
System.out.println("????????????????????????");
e.printStackTrace();
}
return myConn;
}
/**
* ????????????FOR ORACLE??
*
* @param className
* @param url
* @param uid
* @param password
*/
public void derectConnectForOracle(String className, String url, String uid,
String password) {
try {
Class.forName(className);
myConn = DriverManager.getConnection(url, uid, password);
} catch (ClassNotFoundException e) {
System.out.println("CLASS FOR NAME ERROR!FOR ORACLE ????????");
e.printStackTrace();
} catch (SQLException e) {
System.out.println("GETCONNECTION ERROR!FOR ORACLE ????????");
e.printStackTrace();
}
}
/**
* ????????????FOR MYSQL??
*
* @param className
* @param url
* @param uid
* @param password
*/
public void derectConnectForMySql(String className, String url) {
try {
Class.forName(className);
myConn = DriverManager.getConnection(url);
} catch (ClassNotFoundException e) {
System.out.println("CLASS FOR NAME ERROR!FOR MYSQL ????????");
e.printStackTrace();
} catch (SQLException e) {
System.out.println("GETCONNECTION ERROR!FOR MYSQL ????????");
e.printStackTrace();
}
}
/**
* ??????????,????????????SQL????????????????
*/
public ResultSet executeDerectQuery(String sql) {
rs = null;
try {
stmt = myConn.createStatement();
rs = stmt.executeQuery(sql);
} catch (SQLException ex) {
System.err.println("ExecuteQuery is Error:" + ex.getMessage());
}
return rs;
}
/**
* ??????????,????SQL????????????????????????
*/
public void executeDerectUpdate(String sql) {
stmt = null;
rs = null;
try {
stmt = myConn.createStatement();
stmt.executeUpdate(sql);
} catch (SQLException ex) {
System.err.println("ExecuteUpdate is Error:" + ex.getMessage());
}
}
/**
* ??????????????????????????????????????????
*/
public void beginDerectTransaction() {
stmt = null;
rs = null;
try {
myConn.setAutoCommit(false);
stmt = myConn.createStatement();
} catch (SQLException ex) {
System.out.println("BeginTransaction is Error:" + ex.getMessage());
}
}
/**
* ??????????????
*/
public void closeConn() {
try {
closeStmt();
closeMyConn();
} catch (SQLException e) {
System.out.println("??????????????????????????");
e.printStackTrace();
}
}
/**
* ??????????
*/
public void closeStmt() throws SQLException {
try {
if (stmt != null) {
stmt.close();
}
} catch (SQLException e) {
System.out.println("????????????????");
e.printStackTrace();
}
}
/**
* ??????????????
*/
public void closeMyConn() throws SQLException {
try {
if (myConn != null) {
myConn.close();
}
} catch (SQLException e) {
System.out.println("????????????????????");
e.printStackTrace();
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -