通過JDBC獲取數據庫連接

獲取數據庫的連接,步驟:

在程序當中要操作數據庫,第一步應該將對應數據庫的驅動包拷貝到項目中


2.獲取連接:

口訣:賈璉欲執事(賈璉是紅樓夢中的人物,是王熙鳳的丈夫,王熙鳳很強勢,因此。。。不過這個口訣跟Java沒多大聯繫,純屬是爲了方便記憶)


1).加載註冊驅動(

Class.forName(“驅動類的全限定名”)

2).獲取連接對象(

Connection conn = DriverManager.getConnection(String url, String name, String password);

3).創建語()句對象(執行靜態sql(寫死)的語句對象)

Statement st = conn.createStatement();

4).執()行sql語句(該方法可以執行DMLDDL語句),返回受影響的行數,若是DQL語句(操作更復雜一點),就用executeQuerey()方法

int ret = st.executeUpdate();

5).釋()放資源(先開的後關)

st.close();

conn.close();


上代碼:

使用JDBC連接數據庫並創建一張表(沒有處理異常)

@Test
	public void testConnection() throws Exception {
		String sql = "CREATE TABLE s_student (id BIGINT primary key AUTO_INCREMENT,name varchar(20),age int)";
		//1.加載註冊驅動
		Class.forName("com.mysql.jdbc.Driver");
		//2.獲取數據庫連接
		//Connection conn = DriverManager.getConnection(String url, String name, String password);
		//url格式:jdbc:mysql://主機ip:端口號/數據庫名              (端口號默認3306,可不寫,若是在本地連接,可寫成 jdbc:mysql:///數據庫名
		Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/hcd", "root","");
		//3.創建語句對象
		Statement st = conn.createStatement();
		//4.執行sql語句
		st.executeUpdate(sql);
		//5.釋放資源(遵循先開後關原則)
		st.close();
		conn.close();
	}

使用JDBC連接數據庫並創建一張表(處理異常)

@Test
	public void testGetConnectionHanlderException() {
		//賈璉欲執事
		String sql = "CREATE TABLE t_student (id BIGINT primary key auto_increment,name varchar(20),age int)";
		Connection conn = null;
		Statement st = null;
		try {
			//1.加載註冊驅動
			Class.forName("com.mysql.jdbc.Driver");
			//2.獲取數據庫連接
			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/hcd", "root", "");
			//3.創建sql語句對象
			st = conn.createStatement();
			//4.執行sql語句
			st.executeUpdate(sql);
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			//5.釋放資源
			try {
				if(st != null){
					st.close();
				}
				
			} catch (SQLException e) {
				e.printStackTrace();
			}finally{
				try {
					if(conn != null){
						conn.close();
					}
					
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			
		}		
	}

從上一個例子中,我們可以看到,關閉資源的代碼看着很繁瑣,Java7中增添了一個方式去自動關閉資源,即在try後面加上一個圓括號(),我們只需將打開的資源放到圓括號中,代碼執行完之後就會自動關閉資源。

不說了,繼續上代碼:

@Test//Java7新特性
	public void testConnectionHanlderExceptionByJava7() {
		String sql = "create table t_student (id bigint primary key auto_increment,name varchar(20),age int)";
		try(
				Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/hcd", "root", "");
				Statement state = conn.createStatement();
				) 
		{
			state.executeUpdate(sql);
		} catch (Exception e) {
			e.printStackTrace();
		}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章