JDBC第一天:JDBC的基礎

第一,JDBC叫java數據庫連接技術,是用來實現數據庫的增、刪、改、查的接口技術。

第二,實現數據庫的連接步驟:在這之前需要導包

          1,準備四大參數

                          a,,準備驅動類:driverClassName:com.mysql.jdbc.Driver   

                          b,準備url:jdbc:mysql://localhost:3306/DATABASE(注:DATABASE爲所創建的數據庫名稱)

                          c,準備數據庫用戶

                           d,準備數據庫密碼

           2,加載驅動類

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

           3,獲取連接對象connection;

                       Connection con = DriverManager.getConnection(url, username, password);

第三:實現對啊網數據庫的增、刪、改、查

           1,獲取Statement發送器,向數據庫發送sql語氣。

                        Statement stmt = con.createStatement();

            2,調用Statement的  int  executeUpdate(String sql)方法發送sql語氣。可以發送DML,DDL           

                        String sql = "DELETE FROM stu";
                        int r = stmt.executeUpdate(sql);

注:對數據庫的增刪改查重要改 int r = stmt.executeUpdate(sql);的sql就行了。

             3,執行查詢:獲取ResultSet結果集

                                 ResultSet rs = stmt.executeQuery(sql);

              4,解析ResultSet結果集

                                  a,把行光標移動到下一行,可以調用next()方法完成。

while(rs.next()) {//把光標向下移動一行,並判斷下一行是否存在!
	int empno = rs.getInt(1);//通過列編號來獲取該列的值!
	String ename = rs.getString("ename");//通過列名稱來獲取該列的值
	double sal = rs.getDouble("sal");		
	System.out.println(empno +  ", " + ename + ", " + sal);
	}

                  5,關閉資源:倒關
        rs.close();
        stmt.close();
        con.close();//必須要關,不關就死! 

public void fun3() throws Exception {
		Connection con = null;//定義引用
		Statement stmt = null;
		ResultSet rs = null;
		try {
			/*
			 * 一、得到連接
			 */
			String driverClassName = "com.mysql.jdbc.Driver";
			String url = "jdbc:mysql://localhost:3306/exam";
			String username = "root";
			String password = "123";
			
			Class.forName(driverClassName);
			con = DriverManager.getConnection(url, username, password);//實例化
			
			/*
			 * 二、創建Statement
			 */
			stmt = con.createStatement();
			String sql = "select * from emp";
			rs = stmt.executeQuery(sql);
			
			rs.last();//把光標移動到最後一行
System.out.println(rs.getRow());
			rs.beforeFirst();
			
			/*
			 * 三、循環遍歷rs,打印其中數據
			 * 
			 * getString()和getObject()是通用的!
			 */
//			while(rs.next()) {
//				System.out.println(rs.getObject(1) + ", " 
//						+ rs.getString("ename") + ", " + rs.getDouble("sal"));
//			}
			
			int count = rs.getMetaData().getColumnCount();
			while(rs.next()) {//遍歷行
				for(int i = 1; i <= count; i++) {//遍歷列
					System.out.print(rs.getString(i));
					if(i < count) {
						System.out.print(", ");
					}
				}
				System.out.println();
			}
			
		} catch(Exception e) {
			throw new RuntimeException(e);
		} finally {
			// 關閉
			if(rs != null) rs.close();
			if(stmt != null) stmt.close();
			if(con != null) con.close();
		}
		
	}
}

 

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