Java數據庫開發與實戰運用---JDBC

	public void demo() {
		Connection conn = null;
		Statement stmt = null;
		ResultSet rs = null;
		try {
			// 1.加載驅動
//			DriverManager.registerDriver(new Driver());// 會導致驅動註冊兩次。
			Class.forName("com.mysql.jdbc.Driver");
			// 2.獲得連接
			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbctest", "root", "root");
			// 3.創建執行SQL語句的對象,並且執行SQL
			// 3.1創建執行sql的對象
			String sql = "select * from user";
			stmt = conn.createStatement();
			// 3.2執行sql
			rs = stmt.executeQuery(sql);
			while (rs.next()) {
				int uid = rs.getInt("uid");
				String username = rs.getString("username");
				String password = rs.getString("password");
				String name = rs.getString("name");

				System.out.println(uid + "   " + username + "   " + password + "   " + name);
			}

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			// 4.釋放資源
			if (rs != null) {
				try {
					rs.close();
				} catch (SQLException sqlEx) { // ignore

				}

				rs = null;
			}

			if (stmt != null) {
				try {
					stmt.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
				stmt = null;
			}

			if (conn != null) {
				try {
					conn.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
				conn = null;// 垃圾回收機制更早回收對象。
			}
		}
	}

DriverManage :驅動管理類

主要作用:

一、註冊驅動

實際開發中註冊驅動會使用如下的方式:

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

用爲之前的方式會導致驅動註冊兩次。

二、獲得連接

Connection getConnection(String url,String username,String password);

url寫法:jdbc:mysql://localhost:3306/jdbc

簡寫:jdbc:mysql:///jdbc

 

connection:連接對象

主要作用:

一、創建執行SQL語句的對象

  • statement createStatement() :執行sql語句,有sql注入的風險
  • PrepareStatement prepareStrtement(String sql):預編譯SQL語句,解決SQL注入的漏洞
  • CallableStatement prepareCall(String sql):執行SQL中存儲過程

二、進行事務管理

  • setAutoCommit(boolean autoCommit):設置事務是否自動提交
  • commit:事務提交
  • rollback():事務回滾

Statement:執行SQL

主要作用:

一、執行SQL語句

  • boolean execute(String sql):執行SQL,執行select語句返回true,否則返回false
  • ResultSet executeQuery(String sql):執行SQL中的select語句
  • int executeUpadate(String sql):執行SQL中的insert/update/delete語句

二、執行批處理操作

  • addBatch(String sql):添加到批處理
  • executeBatch():執行批處理
  • clearBatch():清空批處理

ResultSet:結果集

結果集:其實就是查詢語句(select)語句查詢的結果的封裝

主要作用:

結果集獲取查詢到的結果的。

next():針對不同類型的數據可以使用getXXX()獲取數據,通用的獲取數據的方法:getObject();

 

 

 

 

 

 

 

 

 

 

 

 

 

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