什么是JDBC中的Statement?

什么是JDBC中的Statement?

Statement接口表示静态SQL语句,它用于使用Java程序创建和执行通用SQL语句。

阅读更多:MySQL 教程

创建Statement

您可以使用connection接口的createStatement()方法创建此接口的对象。如下所示调用此方法创建语句。

Statement stmt = null;
try {
   stmt = conn.createStatement( );
   ...
}
catch (SQLException e) {
   ...
}
finally {
   ...
}

执行Statement对象

创建了语句对象之后,您可以使用以下执行方法之一执行它,即execute()、executeUpdate()和executeQuery()。

  • execute(): 此方法用于执行SQL DDL语句,它返回一个布尔值,指定ResultSet对象是否可以检索。

  • executeUpdate(): 此方法用于执行insert、update、delete等语句。它返回表示受影响行数的整数值。

  • 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 {
     //注册驱动程序
     DriverManager.registerDriver(new com.mysql.jdbc.Driver());

     //获取连接
     String mysqlUrl = "jdbc:mysql://localhost/testdb";
     Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
     System.out.println("连接已建立......");

     //创建语句
     Statement stmt = con.createStatement();

     //执行语句
     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("插入的行数: "+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("Location: "+rs.getString("Location"));
        System.out.println();
     }
  }
}

输出结果

连接已建立......
插入的行数: 4
Name: Amit, Salary: 30000, Location: Hyderabad
Name: Kalyan, Salary: 40000, Location: Vishakhapatnam
Name: Renuka, Salary: 50000, Location: Delhi
Name: Archana, Salary: 15000, Location: Mumbai

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程