Statement interface trong java cung cấp các phương thức để thực thi các câu lệnh truy vấn với cơ sở dữ liệu SQL. Statement interface là một nhà máy của ResultSet, tức là nó cung cấp phương thức để tạo ra đối tượng ResultSet.
Các phương thức phổ biến của Statement interface
Dưới đây là các phương thức phổ biến của Statement interface:
Phương thức | Mô tả |
---|---|
1) public ResultSet executeQuery(String sql): | được sử dụng để thực hiện truy vấn SELECT. Nó trả về đối tượng của ResultSet. |
2) public int executeUpdate(String sql): | được sử dụng để thực thi câu truy vấn được chỉ định, nó có thể là create, drop, insert, update, delete, ... |
3) boolean execute(String sql): | được sử dụng để thực thi các câu truy vấn trả về nhiều kết quả. |
4) int[] executeBatch(): | được sử dụng để thực thi một tập các lệnh. |
Ví dụ sử dụng Statement trong java
Đưới đây là ví dụ INSERT và SELECT sử dụng Statement trong java với MySQL:
package vn.kienthuclaptrinh.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class ConnectMysqlExample { private static String DB_URL = "jdbc:mysql://localhost:3306/testdb"; private static String USER_NAME = "root"; private static String PASSWORD = "1234567890"; /** * main * * @author kienthuclaptrinh.net * @param args */ public static void main(String args[]) { try { // connnect to database 'testdb' Connection conn = getConnection(DB_URL, USER_NAME, PASSWORD); // crate statement Statement stmt = conn.createStatement(); // insert 'student' stmt.executeUpdate("INSERT INTO student(id, name, address) " + "VALUES (5, 'Vinh', 'Hanoi')"); // get data from table 'student' ResultSet rs = stmt.executeQuery("SELECT * FROM student"); // show data while (rs.next()) { System.out.println(rs.getInt(1) + " " + rs.getString(2) + " " + rs.getString(3)); } // close connection conn.close(); } catch (Exception ex) { ex.printStackTrace(); } } /** * create connection * * @author kienthuclaptrinh.net * @param dbURL: database's url * @param userName: username is used to login * @param password: password is used to login * @return connection */ public static Connection getConnection(String dbURL, String userName, String password) { Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(dbURL, userName, password); System.out.println("connect successfully!"); } catch (Exception ex) { System.out.println("connect failure!"); ex.printStackTrace(); } return conn; } }
Kết quả:
connect successfully! 1 Công Hanoi 2 Dung Vinhphuc 3 Ngôn Danang 4 Hạnh Hanoi 5 Vinh Hanoi