1. Trang chủ
  2. » Công Nghệ Thông Tin

LẬP TRÌNH JAVAJDBC CƠ BẢN docx

44 150 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 44
Dung lượng 2,4 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nội dung  Giới thiệu JDBC  Một số Class và Interface của JDBC API thường dùng  Một số kỹ thuật cơ bản sử dụng JDBC – Đăng ký driver, Mở & đóng kết nối cơ sở dữ liệu – Thực hiện lấ

Trang 1

LẬP TRÌNH JAVA

Nguyễn Hoàng Anh – nhanh@fit.hcmuns.edu.vn ĐHKHTN 2011

JDBC CƠ BẢN (JAVA DATABASE CONNECTIVITY)

Trang 2

Nội dung

 Giới thiệu JDBC

 Một số Class và Interface của JDBC API thường dùng

 Một số kỹ thuật cơ bản sử dụng JDBC

– Đăng ký driver, Mở & đóng kết nối cơ sở dữ liệu

– Thực hiện lấy, xóa, cập nhật, thêm dữ liệu

– ExecuteBath

– Xử lý lỗi và ngoại lệ

– Transaction

Trang 3

GIỚI THIỆU JDBC

3

Trang 7

MySQL Driver

Oracle Driver

ODBC Bridge Driver

DB2 Driver

ODBC Bridge Manager

Access

Driver

dBase Driver

Access dBase SQL Server MySQL Oracle DB2

Trang 9

JDBC API

9

Trang 10

JDBC Interfaces

 Class và Interface của JDBC API thuộc gói java.sql

Connection đến cơ sở dữ liệu

đều cài đặt lại Interface này

liệu và cho phép tạo các Statement

liệu và cho phép thực thi các câu lệnh SQL

dụng cho Store procedures

10

Trang 11

JDBC API

áp dụng cho Precompiled SQL

liệu , cho phép truy xuất các dòng dữ liệu

dữ liệu và các thuộc tính trong Resultset

dữ liệu kết nối

khi tương tác với cơ sở dữ liệu

11

Trang 13

MỘT SỐ KỸ THUẬT CƠ BẢN

SỬ DỤNG JDBC

13

Trang 14

Một số kỹ thuật cơ bản sử dụng JDBC

 Đăng ký driver

 Mở & đóng kết nối cơ sở dữ liệu

 Thực hiện lấy, xóa, cập nhật, thêm dữ liệu

Trang 15

Đăng ký Driver - MySQL

 Bước 1: Thêm thư viện JDBC Driver vào ứng dụng

 Bước 2: Đăng ký Driver - MySQL

Trang 16

Mở & đóng kết nối cơ sở dữ liệu

 Đối tượng Connection được tạo từ getConnection của DriverManager

– Connection getConnection (String url);

– Connection getConnection (String url, String user, String password);

– Connection getConnection (String url, java.util.Properties info);

Trang 17

Mở kết nối cơ sở dữ liệu - MySQL

17

JDBC

Java Application

MYSQL DBMS

Trang 18

Cơ sở dữ liệu BookOnline

MaDanhMuc: Auto Increment

Trang 19

Mở & đóng kết nối cơ sở dữ liệu - MySQL

import java.sql.Connection; import java.sql.Driver;

import java.sql.DriverManager; import java.sql.SQLException;

import java.util.Properties;

public class TestJDBC {

public static void main(String[] args) {

info.setProperty("characterEncoding", "utf8");

info.setProperty("user", "root");

info.setProperty("password", "root");

Trang 20

Các câu lệnh SQL

 SELECT : Truy vấn dữ liệu từ bảng

 DELETE : Xóa dữ liệu từ bảng

 UPDATE : Cập nhật dữ liệu vào bảng

 INSERT : Thêm dữ liệu vào bảng

 …

Trang 21

Tạo và thực thi các câu lệnh SQL

 Statement statement = connection.createStatement () ;

 ResultSet executeQuery (String sql)

 boolean execute (String sql)

21

Trang 23

Lấy dữ liệu từ bảng - DanhMuc

int maDanhMuc = rs.getInt(“MaDanhMuc”);

String tenDanhMuc = rs.getString(“tenDanhMuc”); System.out.print(maDanhMuc+” “);

System.out.println(tenDanhMuc);

}

connection.close();

Trang 24

Lấy dữ liệu từ bảng - Sach

String maSach = rs.getString(“MaSach”);

String tenSach = rs.getString(“TenSach”);

Double giaBan= rs.getDouble(“GiaBan”);

String soLuong = rs.getInt(“SoLuong”);

int maDanhMuc = rs.getInt(“maDanhMuc”);

Trang 25

Xóa dữ liệu - DanhMuc

Statement statement = connection.createStatement();

String sql = “DELETE FROM DANHMUC WHERE MADANHMUC = 1”; int n = statement.executeUpdate (sql);

Trang 26

Xóa dữ liệu - Sach

Trang 27

Statement statement = connection.createStatement();

String sql = String.format(“UPDATE DANHMUC

SET TENDANHMUC = „%s‟

WHERE MADANHMUC= %d”,

maDanhMuc, tenDanhMuc); int n = statement.executeUpdate (sql);

Trang 28

Statement statement = connection.createStatement();

String sql = String.format(“UPDATE SACH

Trang 29

Thêm dữ liệu - Sach

Statement statement = connection.createStatement();

String sql = String.format(“INSERT INTO SACH (MaSach, TenSach, GiaBan, SoLuong, MaDanhMuc) VALUES(„%s‟, „%s‟, %f, %d, %d)”, maSach, tenSach, giaBan, soLuong, maDanhMuc); int n = statement.executeUpdate (sql);

Trang 30

Thêm dữ liệu - DanhMuc

Statement statement = connection.createStatement();

String sql = String.format(“INSERT INTO DANHMUC (TENDANHMUC) VALUES(„%s‟)”,tenDanhMuc);

int n = statement.executeUpdate (sql);

Trang 31

Thêm dữ liệu - DanhMuc

int maDanhMuc = rs.getInt(1);

System.out.println("Mã danh mục vừa thêm: "+maDanhMuc); }

}

connection.close();

Trang 32

Thêm dữ liệu - DanhMuc

String [] tenDanhMucs = {"C++", "C#", "Java"};

String sql="INSERT INTO DANHMUC(TENDANHMUC) VALUES ";

for(int i=0; i<tenDanhMucs.length; i++){

int maDanhMuc = rs.getInt(1);

System.out.println("Mã danh mục vừa thêm: "+maDanhMuc); }

Trang 35

String maSach = ; String tenSach = ;

double giaBan = ; int soLuong = ; int maDanhMuc = PreparedStatement statement = connection.prepareStatement();

String sql = “INSERT INTO SACH (MaSach, TenSach, GiaBan,

SoLuong, MaDanhMuc) VALUES(?,?,?,?,?)”;

Trang 36

Statement statement1= con.createStatement();

Statement statement2= con.createStatement();

Trang 37

Statement statement1= con.createStatement();

Statement statement2= con.createStatement();

Trang 38

Statement statement1= con.createStatement();

Statement statement2= con.createStatement();

Savepoint save1 = con.setSavepoint();

Trang 39

CallableStatement - Xử lý Store Procedure

39

Trang 40

Store Procedure - MySQL

Trang 41

Store Procedure - MySQL

INSERT INTO DANHMUC(TENDANHMUC) VALUES (tenDanhMuc);

SET maDanhMuc = LAST_INSERT_ID();

Trang 42

TÀI LIỆU THAM KHẢO

Trang 43

Tài liệu tham khảo

 Nguyễn Hoàng Anh, Tập slide bài giảng và video môn Lập Trình Java, ĐH KHTN, 2010

 http://download.oracle.com/javase/tutorial/jdbc/basics/ , 2011

43

Trang 44

HỎI VÀ ĐÁP

Ngày đăng: 08/08/2014, 18:22

w