MySql連線資料庫常用引數及程式碼示例

weiqiangGG發表於2018-09-28

常用引數

引數名稱 引數說明 預設值 最低版本要求
user 資料庫使用者名稱(用於連線資料庫)
password 使用者密碼(用於連線資料庫)
useUnicode 是否使用Unicode字符集,如果引數characterEncoding設定為gb2312或gbk,本引數值必須設定為true false 1.1g
characterEncoding 當useUnicode設定為true時,指定字元編碼。比如可設定為gb2312或gbk false 1.1g
autoReconnect 當資料庫連線異常中斷時,是否自動重新連線? false 1.1
autoReconnectForPools 是否使用針對資料庫連線池的重連策略 false 3.1.3
failOverReadOnly 自動重連成功後,連線是否設定為只讀? true 3.0.12
maxReconnects autoReconnect設定為true時,重試連線的次數 3 1.1
initialTimeout autoReconnect設定為true時,兩次重連之間的時間間隔,單位:秒 2 1.1
connectTimeout 和資料庫伺服器建立socket連線時的超時,單位:毫秒。 0表示永不超時,適用於JDK 1.4及更高版本 0 3.0.1
socketTimeout socket操作(讀寫)超時,單位:毫秒。 0表示永不超時 0 3.0.1
allowMultiQueries mysql驅動開啟批量執行sql的開關 false

資料庫工具類

package util;

import java.sql.Connection;
import java.sql.DriverManager;

/**
 * 資料庫工具類
 * @author Administrator
 *
 */
public class DbUtil {

	private String dbUrl="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true";
	private String dbUserName="root";
	private String dbPassword="passwd";
	private String jdbcName="com.mysql.jdbc.Driver";
	
	/**
	 * 獲取資料庫連線
	 * @return
	 * @throws Exception
	 */
	public Connection getCon() throws Exception{
		Class.forName(jdbcName);
		Connection con=DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
		return con;
	}
	
	/**
	 * 關閉資料庫連線
	 * @param con
	 * @throws Exception
	 */
	public void closeCon(Connection con) throws Exception{
		if(con!=null){
			con.close();
		}
	}
	
	public static void main(String[] args) {
		DbUtil dbUtil=new DbUtil();
		try {
			dbUtil.getCon();
			System.out.println("資料庫連線成功");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

呼叫該工具類時

	Connection con=null;
	try{
			con=dbUtil.getCon();
			(資料庫操作語句)
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			try {
				dbUtil.closeCon(con);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

相關文章