java链接数据库的工具类

80酷酷网    80kuku.com

  链接|数据|数据库package spider.tools;

import java.sql.*;

public class DBTools {

public static final int ORACLE = 0;
public static final int SQLSERVER = 1;

private static String oracleDriver =
"oracle.jdbc.driver.OracleDriver";
private static String sqlserverDriver =
"com.microsoft.jdbc.sqlserver.SQLServerDriver";

public Connection createConnection(String host, String dataBase, String user, String password,
int dbKind) {
Connection result = null;

String dbUrl = null;
String dbDriver = null;

if (dbKind == ORACLE) {
dbUrl = createOracleUrl(host, dataBase);
dbDriver = oracleDriver;
}
else if (dbKind == SQLSERVER) {
dbUrl = createSqlserverUrl(host, dataBase);
dbDriver = sqlserverDriver;
}
else {
MyUtil.log(
"initial database connection failure: " + "Unsupport data base!");
return null;
}

try {
Class.forName(dbDriver);
result = DriverManager.getConnection(dbUrl, user, password);
}
catch (Exception e) {
MyUtil.log(
"initial database connection failure: " + e.toString());
return null;
}
return result;
}

public String createOracleUrl(String host, String dataBase) {
String oracleUrl = "jdbc:oracle:thin:"
+ host + ":1521:"
+ dataBase;
return oracleUrl;
}

public String createSqlserverUrl(String host, String dataBase) {
String sqlServerUrl = "jdbc:microsoft:sqlserver://"
+ host + ":1433;DatabaseName="
+ dataBase;
return sqlServerUrl;
}
public boolean isTableExist(Connection cnn, String table) {
boolean result = false;
String strSQL = "select * from sysobjects where id=object_id('" + table + "')";
Statement st = null;
ResultSet rs = null;
try {
st = cnn.createStatement();
rs = st.executeQuery(strSQL);
if(rs.next())
result = true;
}
catch (SQLException ex) {
MyUtil.log("Error happen when check table existance! table name: " + table);
}
finally {
if (st != null) {
try {
st.close();
}
catch (SQLException ex1) {}
}
if (rs != null) {
try {
rs.close();
}
catch (SQLException ex1) {}
}
}
return result;
}

public boolean clearTable(Connection cnn, String table) {
if (!isTableExist(cnn, table))
return false;
boolean flag = true;
PreparedStatement ps = null;
try {
ps = cnn.prepareStatement("delete from " + table);
ps.executeUpdate();
}
catch (Exception e) {
flag = false;
}
finally {
if (ps != null) {
try {
ps.close();
}
catch (SQLException ex) {}
}
}
return flag;
}

}



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: