1 jdbc 鏈接兩種方式,通過jdbc鏈接mysql資料庫,url:jdbc:mysql://ip:埠[/database name] 通過什麼驅動器,鏈接什麼資料庫,資料庫的ip,連接埠,可以在url中加上連接的資料庫名。 1)使用驅動器獲取鏈接 2) 使用驅動管理器獲取鏈接 DriverM ...
1 jdbc 鏈接兩種方式,通過jdbc鏈接mysql資料庫,url:jdbc:mysql://ip:埠[/database name]
通過什麼驅動器,鏈接什麼資料庫,資料庫的ip,連接埠,可以在url中加上連接的資料庫名。
1)使用驅動器獲取鏈接
Driver driver = new com.mysql.jdbc.Driver(); props.setProperty("user", "root"); props.setProperty("password", "root"); Connection conn = driver.connect(url, props); System.out.println(conn); conn.close();
2) 使用驅動管理器獲取鏈接
Class.forName("com.mysql.jdbc.Driver"); props.setProperty("user", "root"); props.setProperty("password", "root"); Connection conn = DriverManager.getConnection(url,props); System.out.println(conn); conn.close();
DriverManager 資料庫驅動器管理類,用於管理所有註冊的驅動器。
1)registerDriver(driver)註冊驅動器
2)getConnection(url,properties) 獲取鏈接
Interface Connection 常用方法
1) Statement createStatement()
2)PreparedStatement prepareStatement(String sql)
Interface Statement 用於執行靜態SQL語句, 常用方法
1)executeLargeUpdate(String sql)
2)executeQuery(String sql)
Interface PreparedStatement 用於執行預編譯SQL語句,
1)int executeUpdate()
2)ResultSet executeQuery()
Interface CallableStatement 用於執行存儲過程的SQL語句
1)ResultSet executeQuery()
Interface ResultSet 查詢結果
1)boolean next() //判斷下一行是否為空
PreparedStatement 有一些優勢相對於 Statement
1)可以防註入
2)對於資料庫帶緩衝區的更高效
3)語法不同,可以使用預編譯的SQL
所以:以後推薦使用PreparedStatement
2 所有調用存儲過程的的SQL語句都是使用executeQuery方法執行。
二、使用資料庫時可能會使用配置文件進行用戶名、資料庫、密碼之類的數據存儲。此時如果使用properties文件存儲。需要註意文件的載入路徑。
推薦使用類載入路徑,其中“/”表示classpath根目錄,在 java 項目中表示 bin/ 目錄,在 java web 項目中,表示 WEB-INF/classes 目錄
在靜態方法中:類名.class.getResourceAsStream("/") 表示獲取類載入的根路徑,如果不加 "/" 獲取當前類的載入目錄
在動態方法中:this.getClass().getResourceAsStream("")