PowerDesigner9 做出的 DbManager.java (轉)
//////////////////////////////////////////////
// This file was generated by PowerDesigner //
//////////////////////////////////////////////
// Package declaration
package ;
// Imports
import .*;
import java.io.*;
import java..*;
import java.util.*;
// The database manager is in charge of loading database , connecting to a database,
// perfong queries and handling errors using 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 (innected() && !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("pass", 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 jConnect: "com.sybase.jdbc2.jdbc.SybDriver"
// For JDBC/ODBC: "sun.jdbc.odbc.JdbcOdbcDriver"
// For : "oracle.jdbc.driver.OracleDriver"
static final String DEFAULT_JDBCDRIVER = "com.sybase.jdbc2.jdbc.SybDriver";
// Time out delay
static final int DEFAULT_TIMEOUT = 10;
// Connection
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;
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-963373/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- CSS能做出的效果CSS
- 教你如何做出想要的 PHPDocker 映象PHPDocker
- 用 React 做出好用的 Switch 元件React元件
- 轉型手遊市場,這家公司做出了國外暢銷的回合制遊戲遊戲
- 學習 canvas 的 globalCompositeOperation 做出的神奇效果Canvas
- 如何利用Posterino做出照片牆
- Redgate是如何做出架構決策的?架構
- 心智模型:做出明智決策的最佳方式 - Farnam模型
- 漫畫:軟體是這樣做出來的
- 如何做出一個好的設計方案
- 如何做出好看的三維平面地圖?地圖
- 如何做出一款“合格”的官鬥遊戲?遊戲
- 在成都,樂狗遊戲做出全球第一的SLG遊戲
- 遊戲開發者怎麼做出一個成功的demo?遊戲開發
- PPT高手和菜鳥做出圖表的差別
- 怎樣用CSS做出3D效果的雲CSS3D
- 全員養貓的遊戲公司,會做出怎樣的遊戲?遊戲
- 真的有人把“彈窗廣告”裡的遊戲做出來了!遊戲
- 如何在網頁中做出炫酷的動畫(使用Spine)網頁動畫
- [譯] 為 GitHub 專案做出貢獻的初學者指南Github
- 如何做出“好玩”的小遊戲?——升級遊戲體驗遊戲
- 如何做出“報表載入請稍後”的效果
- 原來聊天機器人是這麼做出來的機器人
- 如何做出趣味筆記——Notability for Mac筆記Mac
- 如何用JavaScript做出淘寶評星效果JavaScript
- 最“騷”的遊戲製作人,在成都做出中國最好的AVG遊戲
- 那個做出《鯉》的團隊,帶著新遊戲來了遊戲
- 做出中國最好的遊戲之後,這家公司倒閉了遊戲
- 大學生、新社會人,和他們想要做出的遊戲遊戲
- 程式設計師如何做出“不難看”的設計程式設計師
- switch button 待完善,做出一個合理的開關按鈕
- 那些讓你無法自拔的遊戲們是怎麼做出來的遊戲
- 用 Python 的魔術方法做出更好的正規表示式 APIPythonAPI
- 怎麼做出超休閒遊戲爆款遊戲
- python怎麼做出一個軟體Python
- 如何為開源軟體做出貢獻
- 【譯】React Native佈局原理(以及Fabric將做出的改變)React Native
- HyperBeard:一個大鬍子廠商,做出了最可愛的遊戲遊戲