Java Database Connectivity
Java Database Java Database ConnectivityConnectivitythangld@uit.edu.vnthangld@uit.edu.vnKhoa Mạng máy tính và Truyền thôngKhoa Mạng máy tính và Truyền thôngĐại học Công nghệ Thông tinĐại học Công nghệ Thông tin Java Database Connectivity2 Nội dungNội dungGiới thiệu chungKiến trúcCác loại JDBC DriverQui trình thực hiệnConnectionStatement / PreparedStatement / CallableStatementResultSet Java Database Connectivity3 Giới thiệuGiới thiệuJava Database Connectivity (JDBC) là một API được sử dụng để truy cập các CSDL quan hệ trong các ứng dụng Java Java Database Connectivity4 ArchitectureArchitectureỨng dụng Java gọi đến thư viện JDBCJDBC nạp trình điều khiển (driver)Trình điều khiển làm việc trực tiếp với các CSDLCó nhiều loại trình điều khiển khác nhau tương ứng với các loại CSDL khác nhauJDBCJavaApplicationDriverCSDL Java Database Connectivity5 JDBC DriversJDBC DriversType I: “Bridge”Type II: “Native”Type III: “Middleware”Type IV: “Pure” Java Database Connectivity6 JDBC DriversJDBC DriversJDBCType I“Bridge”Type II“Native”Type III“Middleware”Type IV“Pure”ODBCODBCDriverCLI (.lib)MiddlewareServerCSDL Java Database Connectivity7 Driver Type IDriver Type ISử dụng kỹ thuật cầu nốiCần phải thực hiện thao tác thiết lập và cấu hình trên máy tính clientKhông hiệu quả trong các ứng dụng webCầu nối JDBC-ODBC Java Database Connectivity8 Driver Type IIDriver Type IITrình điều khiển native-APICần phải thực hiện thao tác thiết lập và cấu hình trên máy tính clientĐược sử dụng hỗ trợ cho các thư viện CLI có sẵnHiện nay ít được sử dụng Java Database Connectivity9 Driver Type IIIDriver Type IIIGọi đến các server trung gianLinh hoạt: cho phép truy cập đến nhiều loại CSDL chỉ với một driverChỉ cần download một driverChi phí duy trì một server trung gian Java Database Connectivity10 Driver Type IVDriver Type IV100% thuần JavaSử dụng thư viện giao tiếp mạng Java để giao tiếp trực tiếp với HQT CSDLPhải sử dụng các trình điều khiển khác nhau tương ứng với các loại CSDL khác nhauĐược sử dụng phổ biến hiện nayThư viện: java.sql [...]... định) ResultSet.TYPE_SCROLL_INSENSITIVE ResultSet.TYPE_SCROLL_SENSITIVE rsConcurrency: ResultSet.CONCUR_READ_ONLY (mặc định) ResultSet.CONCUR_UPDATABLE Java Database Connectivity 3 Giới thiệu Giới thiệu Java Database Connectivity (JDBC) là một API được sử dụng để truy cập các CSDL quan hệ trong các ứng dụng Java Java Database Connectivity 24 Ví dụ: PreparedStatement Ví dụ: PreparedStatement PreparedStatement pstmt = con.prepareStatement( “INSERT.. .Java Database Connectivity 21 Truy xuất dữ liệu trong ResultSet Truy xuất dữ liệu trong ResultSet JDBC Type Java Type Method INT int getInt REAL float getFloat FLOAT double getDouble DOUBLE double getDouble CHAR String getString VARCHAR String getString DATE java. sql.Date getDate TIME java. sql.Time getTime Java Database Connectivity 17 Đối tượng Statement Đối... con trỏ mẫu tin đến một dòng cụ thể cho trước Java Database Connectivity 10 Driver Type IV Driver Type IV 100% thuần Java Sử dụng thư viện giao tiếp mạng Java để giao tiếp trực tiếp với HQT CSDL Phải sử dụng các trình điều khiển khác nhau tương ứng với các loại CSDL khác nhau Được sử dụng phổ biến hiện nay Thư viện: java. sql Java Database Connectivity 8 Driver Type II Driver Type II Trình... Connection setAutoCommit(boolean) setSavePoint(String) releaseSavepoint(Savepoint) commit() rollback() / rollback(Savepoint) class Savepoint Java Database Java Database Connectivity Connectivity thangld@uit.edu.vn thangld@uit.edu.vn Khoa Mạng máy tính và Truyền thơng Khoa Mạng máy tính và Truyền thơng Đại học Cơng nghệ Thông tin Đại học Công nghệ Thông tin Java Database Connectivity 15 JDDB Drivers & URLs JDDB Drivers & URLs Oracle Driver:... student.id); pstmt.setString(2, student.password); pstmt.executeUpdate(); } Java Database Connectivity 6 JDBC Drivers JDBC Drivers JDBC Type I “Bridge” Type II “Native” Type III “Middleware” Type IV “Pure” ODBC ODBC Driver CLI (.lib) Middleware Server CSDL Java Database Connectivity 4 Architecture Architecture Ứng dụng Java gọi đến thư viện JDBC JDBC nạp trình điều khiển (driver) Trình điều... trực tiếp với các CSDL Có nhiều loại trình điều khiển khác nhau tương ứng với các loại CSDL khác nhau JDBC Java Application Driver CSDL Java Database Connectivity 5 JDBC Drivers JDBC Drivers Type I: “Bridge” Type II: “Native” Type III: “Middleware” Type IV: “Pure” Java Database Connectivity 19 Đối tượng ResultSet Đối tượng ResultSet Lưu trữ kết quả trả về từ câu truy vấn dữ liệu Chỉ... last); } st.close(); con.close(); Java Database Connectivity 12 JDBC Object Classes JDBC Object Classes DriverManager Nạp trình điều khiển và thiết lập kết nối với CSDL Connection Một kết nối CSDL, trên đó thực thi nhiều câu truy vấn Statement Một câu lệnh SQL đơn lẻ ResultSet Lưu trữ dữ liệu trả về từ quá trình truy vấn dữ liệu Java Database Connectivity 11 Qui trình thực hiện Qui... riêng Ví dụ jdbc:odbc:DataSourceName + jdbc:odbc:QLSV jdbc:msql://host[:port] /database + jdbc:mysql://dbserver:3306/qlsv Java Database Connectivity 26 Transaction Transaction Một tập các câu lệnh được thực thi như một lệnh đơn lẻ; hoặc tất cả cùng hồn thành hoăc khơng có câu lệnh nào được thực thi Transaction trong Java: class Connection setAutoCommit(boolean) setSavePoint(String) releaseSavepoint(Savepoint) commit() rollback()... oracle.jdbc.driver.OracleDriver URL: jdbc:oracle:thin:@<DBServer>:1521:<tên_CSDL> IBM DB2 Driver: COM.ibm.db2.jdbc.net.DB2Driver URL: jdbc:db2://<DBServer>:5021/<tên_CSDL> Java Database Connectivity 22 Ví dụ: SELECT Ví dụ: SELECT Connection con = DriverManager.getConnection( url, “admin”, “password”); Statement st = con.createStatement(); ResultSet results = st.executeQuery( “SELECT... II Driver Type II Trình điều khiển native-API Cần phải thực hiện thao tác thiết lập và cấu hình trên máy tính client Được sử dụng hỗ trợ cho các thư viện CLI có sẵn Hiện nay ít được sử dụng Java Database Connectivity 13 Thiết lập kết nối CSDL Thiết lập kết nối CSDL Class.forName(<JDBC-Driver>); Connection c = DriverManager.getConnection( <JDBC-URL>, <username>, <password>); JDBC-URL: . Java Database Java Database ConnectivityConnectivitythangld@uit.edu.vnthangld@uit.edu.vnKhoa Mạng. PreparedStatement / CallableStatementResultSet Java Database Connectivity3 Giới thiệuGiới thiệu Java Database Connectivity (JDBC) là một API được sử dụng