java链接数据库的工具类

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

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;

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有