JDBC - 语句对象示例
以下是示例,它使用以下三个查询以及开始和结束语句 −
boolean execute(String SQL) : 如果可以检索 ResultSet 对象,则返回布尔值 true; 否则,它返回 false。 在执行 SQL DDL 语句或需要使用真正动态的 SQL 时使用此方法。
int executeUpdate(String SQL): 返回受 SQL 语句执行影响的行数。 使用此方法执行 SQL 语句,您希望这些语句会受到影响 - 例如,INSERT、UPDATE 或 DELETE 语句。
ResultSet executeQuery(String SQL)− 返回一个 ResultSet 对象。 当您希望获得结果集时使用此方法,就像使用 SELECT 语句一样。
本示例代码是根据前面章节中的环境和数据库设置编写的。
将以下示例复制粘贴到JDBCExample.java中,编译运行如下 −
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBCExample { static final String DB_URL = "jdbc:mysql://localhost/TUTORIALSPOINT"; static final String USER = "guest"; static final String PASS = "guest123"; static final String QUERY = "SELECT id, first, last, age FROM Employees"; static final String UPDATE_QUERY = "UPDATE Employees set age=30 WHERE id=103"; public static void main(String[] args) { // Open a connection try(Connection conn = DriverManager.getConnection(DB_URL, USER, PASS); Statement stmt = conn.createStatement(); ) { // Let us check if it returns a true Result Set or not. Boolean ret = stmt.execute(UPDATE_QUERY); System.out.println("Return value is : " + ret.toString() ); // Let us update age of the record with ID = 103; int rows = stmt.executeUpdate(UPDATE_QUERY); System.out.println("Rows impacted : " + rows ); // Let us select all the records and display them. ResultSet rs = stmt.executeQuery(QUERY); // Extract data from result set while (rs.next()) { // Retrieve by column name System.out.print("ID: " + rs.getInt("id")); System.out.print(", Age: " + rs.getInt("age")); System.out.print(", First: " + rs.getString("first")); System.out.println(", Last: " + rs.getString("last")); } rs.close(); } catch (SQLException e) { e.printStackTrace(); } } }
现在让我们编译上面的例子如下 −
C:\>javac JDBCExample.java C:\>
当您运行 JDBCExample 时,它会产生以下结果 −
C:\>java JDBCExample Return value is : false Rows impacted : 1 ID: 100, Age: 18, First: Zara, Last: Ali ID: 101, Age: 25, First: Mehnaz, Last: Fatma ID: 102, Age: 30, First: Zaid, Last: Khan ID: 103, Age: 30, First: Sumit, Last: Mittal C:\>