JDBC 中的语句是什么?
Statement 接口表示静态 SQL 语句,它用于使用 Java 程序创建和执行通用 SQL 语句。
创建语句
你可以使用 connection 接口的 createStatement() 方法创建此接口的一个对象。通过调用此方法如下所示创建语句。
Statement stmt = null; try { stmt = conn.createStatement( ); . . . } catch (SQLException e) { . . . } finally { . . . }
执行 Statement 对象
创建语句对象后,你可以使用 execute()、executeUpdate() 和 executeQuery() 等执行方式中的一种来执行语句。
execute():此方法用于执行 SQL DDL 语句,它返回一个布尔值,指定是否可以检索 ResultSet 对象。
executeUpdate():此方法用于执行诸如插入、更新、删除等语句。它返回一个表示受影响的行数的整数值。
executeQuery():此方法用于执行返回表格数据(例如 SELECT 语句)的语句。它返回 ResultSet 类的一个对象。
示例
以下 JDBC 应用程序演示如何创建和执行语句。
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class StatementExample { public static void main(String args[]) throws SQLException { //Registering the Driver DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //Getting the connection String mysqlUrl = "jdbc:mysql://127.0.0.1/testdb"; Connection con = DriverManager.getConnection(mysqlUrl, "root", "password"); System.out.println("Connection established......"); //Creating the Statement Statement stmt = con.createStatement(); //Executing the statement String createTable = "CREATE TABLE Employee(“ + "Name VARCHAR(255), " + "Salary INT NOT NULL, " + "Location VARCHAR(255))"; boolean bool = stmt.execute(createTable); String insertData = "INSERT INTO Employee(" + "Name, Salary, Location) VALUES " + "('Amit', 30000, 'Hyderabad'), " + "('Kalyan', 40000, 'Vishakhapatnam'), " + "('Renuka', 50000, 'Delhi'), " + "('Archana', 15000, 'Mumbai')"; int i = stmt.executeUpdate(insertData); System.out.println("Rows inserted: "+i); ResultSet rs = stmt.executeQuery("Select *from Employee"); while(rs.next()) { System.out.print("Name: "+rs.getString("Name")+", "); System.out.print("Salary: "+rs.getInt("Salary")+", "); System.out.print("City: "+rs.getString("Location")); System.out.println(); } } }
输出
Connection established...... Rows inserted: 4 Name: Amit, Salary: 30000, City: Hyderabad Name: Kalyan, Salary: 40000, City: Vishakhapatnam Name: Renuka, Salary: 50000, City: Delhi Name: Archana, Salary: 15000, City: Mumbai
广告