📜  JDBC中如何使用Column方法统计列数?

📅  最后修改于: 2022-05-13 01:55:45.476000             🧑  作者: Mango

JDBC中如何使用Column方法统计列数?

单个独立的程序无法满足客户端的所有需求 客户端的每个请求都有一些不同的请求,例如更新、删除、插入JDBC是用于连接关系数据库工作的Java语言的著名 API 之一在结构化查询语言上使用Java程序。JDBC 和数据库驱动程序能够访问数据库和电子表格。可以借助 JDBC API 访问存储在关系数据库 (RDB) 中的企业数据。

JDBC API 的主要任务

  1. 建立与数据库的连接
  2. 将 SQL 语句发送到数据库服务器。
  3. 处理得到的结果。

插图:假设 MySQL 客户端

方法: Java程序与数据库连接的步骤

  1. 导入数据库文件。
  2. 将驱动程序加载并注册到Java程序。
  3. 建立连接。
  4. 创建声明。
  5. 执行查询。
  6. 处理结果。
  7. 关闭连接。

现在,讨论上述步骤以找出如何使用列的方法来计算 JDBC 中的列数

1.加载和注册驱动程序:首先,您需要先加载驱动程序或注册它,然后才能在程序中使用它。注册将在您的程序中完成一次。您可以使用Class.forName()方法以两种方式之一注册驱动程序。它用于 在运行时将驱动程序的类文件加载到内存中,不需要使用 new 或创建对象。为了说明Oracle驱动程序如下:

Class.forName(“oracle.jdbc.driver.OracleDriver”);

2.建立连接:加载驱动后,通过创建主类Connection类的对象建立连接,如图:

Connection con = DriverManager.getConnection(url,user,password)
  • user :可以访问 SQL 命令提示符的用户名。
  • password :可以访问 SQL 命令提示符的密码。
  • con : Connection 类对象是对 Connection 接口的引用。
  • URL :统一资源定位器。

如果将 Oracle 用作数据库,则以类似的方式对其进行处理,但有一点噱头,如下所示。

  • 使用的驱动程序@localhost 是存储数据库的IP 地址。
  • 1521 是端口号。
  • 这里的服务提供者是“xe”。

这里的3个参数都是String类型的,需要程序员在调用函数之前声明,使用this可以从最终代码中引用。它可以按如下方式创建:

String url = “ jdbc:oracle:thin:@localhost:1521:xe”
OR
String mysqlUrl = "jdbc:mysql://localhost/Databasename";

3.创建语句:一旦建立连接,您就可以与数据库进行交互。 JDBCStatement、Callable Statement 和 PreparedStatement 接口定义了使您能够发送 SQL 命令和从数据库接收数据的方法。 JDBC Statement 的使用如下。在这里, con 是对上一步中使用的 Connection 接口的引用。

Statement st = con.createStatement();

4.执行查询:现在是最重要的部分,即执行查询。这里的查询是一个 SQL 查询。现在我们知道我们可以有多种类型的查询。其中一些如下:

  • 在数据库中更新/插入表的查询。
  • 检索数据的查询。

例子

Java
// Java Program to use methods of column
// to Count no of columns in JDBC
  
// Importing all classes of java.util package
import java.util.*;
  
// Step 1: Importing DB
import java.sql.*;
  
// Class
public class GFG {
  
    // Main driver method
    public static void main(String args[])
        throws ClassNotFoundException, SQLException
    {
        // Step 2: Loading and registering drivers
  
        // Registering using Drivermanager
        DriverManager.registerDriver(
            new com.mysql.jdbc.Driver());
  
        // MySQL URL
        String mysqlUrl = "jdbc:mysql://localhost/gfg";
  
        // Step 3: Establish the connection
        Connection con = DriverManager.getConnection(
            mysqlUrl, "root", "Aayush");
        // Display message to show in console
        // connection is estalished
        System.out.println("Connection established......");
  
        // Step 4: Creating a statement object
        Statement stmt = con.createStatement();
  
        // Step 5: Executing the query
        ResultSet rs
            = stmt.executeQuery("select * from aayush;");
  
        // Step 6: Process the results
  
        // Retrieving the ResultSetMetaData object
        ResultSetMetaData rsmd = rs.getMetaData();
  
        // Get the column type and count
        // using getColumnCount() method
        int column_count = rsmd.getColumnCount();
  
        // Print the number of columns in a table
        System.out.println(
            "Number of columns in the table : "
            + column_count);
    }
}


输出: