CSDN博客

img naxin

PowerDesigner9 做出的 DbManager.java

发表于2003/12/16 13:03:00  1062人阅读

 

//////////////////////////////////////////////
// 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;

}

0 0

相关博文

我的热门文章

img
取 消
img