站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题PowerDesigner9 做出的 DbManager.java

PowerDesigner9 做出的 DbManager.java

摘要: PowerDesigner9 做出的 DbManager.java

//////////////////////////////////////////////
// This file was generated by PowerDesigner //
//////////////////////////////////////////////
// Package declaration
package db;
// Imports
import java.net.*;
import java.io.*;
import java.sql.*;
import java.util.*;
// The database manager is in charge of loading database driver,
connecting to a database,
// performing queries and handling errors using JDBC functions.
public class DbManager {
// Load JDBC driver
public boolean loadDriver() { try {
// Force the JDBC driver to be loaded
error = false;
errorStr = null;
String status = "Loading the JDBC driver: " + DEFAULT_JDBCDRIVER + "...";
showStatus(status);
Class.forName(DEFAULT_JDBCDRIVER);
return true; }
catch (Exception e) {
error = true;
errorStr = "Unable to load the JDBC driver " + DEFAULT_JDBCDRIVER + ". " +
e.toString();
e.printStackTrace(System.out);
return false; } }
// Connect to the database
public boolean connect() { try {
// Do we need to reconnect?
if (isConnected() && !needReconnect) {
return true; }
// Disconnect the old connection
if (isConnected()) {
if (!disconnect()) {
return false; } }
// Generate the URL for the database
String urlStr = url;
if (database.length() > 0) {
if (url.equalsIgnoreCase("jdbc:odbc")) {
url += ":"; }
else {
url += "/"; }
url += database; }
// Set connection properties
Properties props = new Properties();
props.put("user", user);
props.put("password", password);
// Connect to the database at that URL.
error = false;
errorStr = null;
showStatus("Connecting to: " + url + "...");
DriverManager.setLoginTimeout(DEFAULT_TIMEOUT);
connection = DriverManager.getConnection(url, props);
// Create default statement
statement = connection.createStatement();
needReconnect = false;
return true; }
catch (SQLException sqle) {
error = true;
errorStr = sqle.toString() + ". Restart connection.";
connection = null;
return false; }
catch (Exception e) {
connection = null;
catchEx(e);
return false; } }
// Disconnect the database
public boolean disconnect() { try {
error = false;
errorStr = null;
closeStatement();
if (connection != null) {
connection.close();
connection = null; }
needReconnect = true;
return true; }
catch (Exception e) {
catchEx(e);
return false; } }
// Execute a query
public boolean executeQuery(String query) {
if (statement != null) {
try {
error = false;
errorStr = null;
showStatus("Executing query: " + query);
statement.setQueryTimeout(DEFAULT_TIMEOUT);
boolean restype = statement.execute(query);
return restype; }
catch (SQLException sqle) {
catchSQLEx(sqle);
return false; }
catch (Exception e) {
catchEx(e);
return false; } }
return false; }
// Close the statement
public boolean closeStatement() { try {
error = false;
errorStr = null;
if (statement != null) {
statement.close();
statement = null; }
return true; }
catch (Exception e) {
catchEx(e);
return false; } }
// Catch exception
public void catchEx(Exception e) {
e.printStackTrace();
error = true;
errorStr = "Unexpected Exception: " + e.toString(); }
// Catch SQL exception
public void catchSQLEx(SQLException sqle) {
error = true;
errorStr = sqle.toString() + " Cancelling..."; try {
statement.cancel(); }
catch (SQLException sqle2) {
errorStr = sqle2.toString() + " after " + sqle.toString(); } }
// Test if the database connection is established
public boolean isConnected() {
if (connection != null) {
return true; }
else {
return false; } }
// Get URL
public String getUrl() {
return url; }
// Set URL
public void setUrl(String newUrl) {
if (!newUrl.equalsIgnoreCase(this.url)) {
needReconnect = true; }
this.url = newUrl; }
// Get user name
public String getUser() {
return user; }
// Set user name
public void setUser(String newUser) {
if (!newUser.equalsIgnoreCase(this.user)) { needReconnect = true; }
this.user = newUser; }
// Get password
public String getPassword() {
return password; }
// Set password
public void setPassword(String newPassword) {
if (!newPassword.equalsIgnoreCase(this.password)) { needReconnect = true; }
this.password = newPassword; }
// Get database
public String getDatabase() {
return database; }
// Set database
public void setDatabase(String newDatabase) {
if (!newDatabase.equalsIgnoreCase(this.database)) { needReconnect = true; }
this.database = newDatabase; }
// Get statement
public Statement getStatement() {
return statement; }
// Set statement
public Connection getConnection() {
return connection; }
// Get error text
public String getErrorStr() {
return errorStr; }
// Test if there is an error
public boolean hasError() {
return error; }
// Display message in the standard output
private void showStatus(String s) {
System.out.println(s); }
// Default JDBC driver name.
// For Sybase jConnect: "com.sybase.jdbc2.jdbc.SybDriver"
// For JDBC/ODBC: "sun.jdbc.odbc.JdbcOdbcDriver"
// For Oracle: "oracle.jdbc.driver.OracleDriver"
static final String DEFAULT_JDBCDRIVER =
"com.sybase.jdbc2.jdbc.SybDriver";
// Time out delay
static final int DEFAULT_TIMEOUT = 10;
// Connection object
private Connection connection = null;
// Statement object
private Statement statement = null;
// Error code
private boolean error = false;
// Error text
private String errorStr = "";
// JDBC database URL
private String url = "";
// User name
private String user = "";
// Password
private String password = "";
// Database name
private String database = "";
// Need reconnect indicator
private boolean needReconnect = true; }
作者相关文章:
测试Weblogic 8.11 连接池的JSP文件(原作)
How to setup a basic Struts project using Eclipse IDE(收藏)
在Weblogic 8.1 sp1 上调试《精通EJB 2》源代码 (一)(原作)
↑返回目录
前一篇: Proxy模式之春节回家
后一篇: Persistence Layer的选择