dbconnection.java

来自「一个可以存储和打印成绩单的系统」· Java 代码 · 共 90 行

JAVA
90
字号
package org.minjey.cjsjk.dao;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.util.Properties;import org.minjey.cjsjk.util.PropertyDict;import org.minjey.cjsjk.util.PropertyLoader;public class DBConnection {		private static Connection conn = null;		public static Connection getConnection() {		if(conn == null) {			Properties properties = PropertyLoader.loadSystemProperty();			conn = new DBConnection().getConnection(properties);			try {				conn.setAutoCommit(false);			} catch (SQLException e) {				e.printStackTrace();			}		}		return conn;	}		public static void closeConnecion() {		if(conn != null) {			try {				boolean closed = conn.isClosed();				if(!closed) {					conn.close();				}			} catch (SQLException e) {				e.printStackTrace();			}			conn = null;		}	}	private Connection getConnection(Properties properties) {		Connection conn = null;		String driver = properties.getProperty(PropertyDict.DBDRIVER);		String protocol = properties.getProperty(PropertyDict.DBPROTOCOL);		String dbname = properties.getProperty(PropertyDict.DBDBNAME);		String username = properties.getProperty(PropertyDict.DBUSERNAME);		String password = properties.getProperty(PropertyDict.DBPASSWORD);		Properties props = new Properties();		props.put("user", username);		props.put("password", password);		System.out.println("Attempt To Connect To Database: " + dbname				+ ".");		try {			Class.forName(driver).newInstance();			conn = DriverManager.getConnection(protocol + dbname, props);			System.out.println("Connect to Database: " + dbname					+ " Successd.");		} catch (InstantiationException e) {			e.printStackTrace();		} catch (IllegalAccessException e) {			e.printStackTrace();		} catch (ClassNotFoundException e) {			e.printStackTrace();		} catch (SQLException e) {			System.err.println(e);			String message = "Database '" + dbname + "' not found.";			String message2 = "数据库“" + dbname + "”未找到。";			if (message.equals(e.getMessage()) || message2.equals(e.getMessage())) {				DBCreater dc = new DBCreater();				dc.createNewDB(driver, protocol, dbname, username,						password);				dc.prepareDefaultData();				conn = new DBConnection().getConnection(properties);			} else {				e.printStackTrace();			}			System.out.println();		}		return conn;	}	public static void main(String[] args) {		DBConnection.getConnection();	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?