1. 程式人生 > >JDBC建立資料庫連線詳細程式碼及註釋

JDBC建立資料庫連線詳細程式碼及註釋

注:完整程式碼在最後

使用jdbc建立mysql資料庫連線

1.從db.properties配置檔案中讀取資料庫連線引數。

db.properties檔案內容如下:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc\:mysql\://localhost\:3306/資料庫名?useUnicode\=true&characterEncoding\=UTF-8
jdbc.username=使用者名稱
jdbc.password=密碼

建立Properties物件

Properties prop = new Properties();

建立輸入流

InputStream in = getClass().getResourceAsStream("/db.properties");

載入配置檔案   有可能會有io異常需要try  chatch

try {
        prop.load(in);
} catch (IOException e) {
        e.printStackTrace();
  }

宣告驅動類

Class jdbcDriverClass;

宣告資料庫連線

 Connection conn     =    null;

必須新增trycatch 否則創建出現異常後 容易不關閉連線,會一直佔用,
try {

載入驅動類

jdbcDriverClass = Class.forName("com.mysql.jdbc.Driver");

//建立驅動

Driver driver = (Driver) jdbcDriverClass.newInstance();

註冊驅動

  DriverManager.registerDriver(driver);

//建立連線

conn=(Connection)DriverManager.getConnection(prop.getProperty("jdbc.url"),prop.getProperty("jdbc.username"),prop.getProperty("jdbc.password"));


} catch (Exception e) {

輸出錯誤資訊

e.printStackTrace();

建立連線 異常後關閉
          

 if(conn!=null){//如果連線不是null則關閉
      try {
         conn.close();
       } catch (SQLException e2) {
          e2.printStackTrace();//輸出錯誤資訊
       }
  }

}
    

 

完整方法程式碼如下:

/**
	 * 建立資料庫連線
	 * @return
	 */
	private  Connection getConnection() {
		//從db.properties檔案中獲取資料庫連線
		Properties prop = new Properties();//建立Properties物件
    	InputStream in = getClass().getResourceAsStream("/db.properties");//建立輸入流
		try {
			prop.load(in);//載入配置檔案   有可能會有io異常需要try  chatch
		} catch (IOException e) {
			e.printStackTrace();
		}
		Class jdbcDriverClass;//宣告驅動類
		Connection conn 	=	null;//宣告資料庫連線
		try {//必須新增trycatch 否則創建出現異常後 容易不關閉連線,會一直佔用,
			jdbcDriverClass = Class.forName("com.mysql.jdbc.Driver");//載入驅動類
			Driver driver = (Driver) jdbcDriverClass.newInstance();//建立驅動
			DriverManager.registerDriver(driver);//註冊驅動
			conn = (Connection) DriverManager.getConnection(prop.getProperty("jdbc.url"),prop.getProperty("jdbc.username"),prop.getProperty("jdbc.password"));//建立連線
		} catch (Exception e) {
			e.printStackTrace();//輸出錯誤資訊
			//建立連線 異常後關閉
			if(conn!=null)//如果連線不是null則關閉
				try {
					conn.close();
				} catch (SQLException e2) {
					e2.printStackTrace();//輸出錯誤資訊
				}
		}
		return conn;
	}