JDBC中如何使用Column方法统计列数?
单个独立的程序无法满足客户端的所有需求 客户端的每个请求都有一些不同的请求,例如更新、删除、插入JDBC是用于连接关系数据库工作的Java语言的著名 API 之一在结构化查询语言上使用Java程序。JDBC 和数据库驱动程序能够访问数据库和电子表格。可以借助 JDBC API 访问存储在关系数据库 (RDB) 中的企业数据。
JDBC API 的主要任务
- 建立与数据库的连接
- 将 SQL 语句发送到数据库服务器。
- 处理得到的结果。
插图:假设 MySQL 客户端
Input :
- Database : GFG
- Table : Aayush
Output :
方法: Java程序与数据库连接的步骤
- 导入数据库文件。
- 将驱动程序加载并注册到Java程序。
- 建立连接。
- 创建声明。
- 执行查询。
- 处理结果。
- 关闭连接。
现在,讨论上述步骤以找出如何使用列的方法来计算 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 查询。现在我们知道我们可以有多种类型的查询。其中一些如下:
- 在数据库中更新/插入表的查询。
- 检索数据的查询。
The executeQuery() method of Statement interface is used to execute queries of retrieving values from the database. This method returns the object of ResultSet that can be used to get all the records of a table. The executeUpdate(sql query) method of the Statement interface is used to execute queries of updating/inserting.
例子
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);
}
}
输出:
Same table is used in the implementation part. So, the above output is of corresponding table generated below on which count is called.