Hướng dẫn sử dụng PreparedStatement trong JDBC

PreparedStatement cung cấp các phương thức để thực hiện truy vấn với cơ sở dữ liệu MySQL, PostgreSQL hoặc Oracle. Bài viết này sẽ hướng dẫn sử dụng PreparedStatement trong JDBC dành cho những bạn đang tìm hiểu làm tài liệu tham khảo.

Trong JDBC để có thể thực thi câu lệnh SQL thì bạn có thể sử dụng Statement, PreparedStatement hoặc CallableStatement. Mỗi loại đều có những ưu điểm riêng như bảng bên dưới mình đã trình bày, và trong nội dung bài viết này chúng ta chỉ nói riêng về hướng dẫn sử dụng PreparedStatement trong JDBC.

JDBC StatementsMô tả
StatementStatement không chấp nhận truyền tham số (parameters) đầu vào nên nó chỉ thực sự hữu ích khi chạy các câu SQL tĩnh.
PreparedStatementPreparedStatement cho phép truyền tham số đầu vào, như vậy nâng cao khả năng tùy biến câu lệnh truy vấn SQL.
CallableStatementCallableStatement cho phép truyền tham số đầu vào và được dùng khi bạn muốn gọi stored procedures.

Một số thuộc tính quan trọng của đối tượng PreparedStatement trong JDBC:

– Trước khi bạn có thể sử dụng một đối tượng PreparedStatement trong JDBC để thực hiện một câu lệnh truy vấn SQL thì bạn cần phải tạo ra một kết nối (Connection) bằng cách gọi phương thức  prepareStatement() như sau:

– Khi sử dụng PreparedStatement bạn sẽ cần truyền dữ liệu tham số đầu vào tương ứng với mỗi biểu tượng ? (Parameter Marker).

– Sau khi bạn đã tạo một đối tượng PreparedStatement thì bây giờ bạn có thể sử dụng nó để thực hiện câu lệnh SQL:

setInt(int paramIndex, int value): Thiết lập tham số truyền vào có giá trị kiểu số nguyên.

setString(int paramIndex, String value): Thiết lập tham số truyền vào có giá trị kiểu chuỗi.

setFloat(int paramIndex, float value): Thiết lập tham số truyền vào có giá trị kiểu số thực.

setDouble(int paramIndex, double value): Thiết lập tham số truyền vào có giá trị kiểu số thực.

boolean execute (String SQL): Trả về giá trị boolean là true nếu một đối tượng ResultSet được trả về, ngược lại là false.

int executeUpdate(): Thực thi lệnh truy vấn SQL, được sử dụng để gọi các lệnh create, drop, insert, update, delete.

ResultSet executeQuery(): Trả lại một đối tượng ResultSet.

Hướng dẫn sử dụng PreparedStatement trong JDBC thông qua các ví dụ mẫu:

Bây giờ nếu như mình có một bảng db_users với các thuộc tính như id, fullname, age và email. Mình sẽ thực hiện thêm mới dữ liệu thông qua 2 cách sử dụng PreparedStatement và Statement.

Thêm mới dữ liệu sử dụng Statement:

Thêm mới dữ liệu sử dụng PreparedStatement:

Như 2 ví dụ trên bạn thấy cả 2 cách cùng đều thực hiện thêm dữ liệu vào bảng nhưng ở ví dụ sử dụng PreparedStatement mang lại hiệu quả cao hơn do PreparedStatement cho phép truyền tham số đầu vào, như vậy nâng cao khả năng tùy biến câu lệnh truy vấn SQL thay vì sử dụng câu lệnh tĩnh như Statement.

Lời kết: Như vậy, nội dung bài hướng dẫn sử dụng PreparedStatement trong JDBC mình đã vừa trình bày xong. Ngoài PreparedStatement trong JDBC các bạn có thể theo dõi thêm bài viết hướng dẫn sử dụng Statement và CallableStatement của mình.

(Tác giả: Tùng Dương)

Bình luận

Loading...