在 JDBC 搜索表格内容的 Java 程序
原文:https://www . geesforgeks . org/Java-program-to-search-in-a-table-in-JDBC/
为了应对 JDBC 标准,应该遵循 7 个步骤:
- 导入数据库
- 加载和注册驱动程序
- 创建连接
- 创建语句
- 执行查询
- 处理结果
- 关闭连接
程序:
- 导入数据库-用 java 导入 sql 数据库的语法是- 导入 Java . SQL . *;
- 加载并注册驱动-驱动类加载后注册驱动的语法为 for name(com . MySQL . JDBC . XYZ);
- 创建数据库不考虑 SQL 或 NoSQL 。使用 sqlyog 创建数据库,并在其中创建一些表,并填充其中的数据,以便搜索表的内容。例如,数据库名为“hotelman”,表名为“cuslogin”和“adminlogin”。
- 创建连接:打开任何 IDE,在那里可以按照标准方法生成 java 可执行文件。创建包进一步创建类。在包中,打开一个新的 java 文件,键入下面的 JDBC 连接代码,并用 connection.java 保存文件名。
- 搜索内容在一个表中,假设我的“cuslogin”表有列,分别是“id”、“姓名”、“电子邮件”、“密码”,我们要搜索 id 为 1 的客户。
- 用 SQL 查询初始化一个字符串,如下所示
String sql="select * from cuslogin where id=1";
如果我们想搜索任何 id,那么 SQL 查询就变成了
String sql="select * from cuslogin where id="+Integer.parseInt(textfield.getText());
textfield 是用户在“cuslogin”表中键入他想要搜索的 id 的区域(以 Jframe 形式)。
4.1: 初始化连接类、准备状态类和结果集类(JDBC 需要)的以下对象,并按如下方式连接数据库
Connection con = null;
PreparedStatement p = null;
ResultSet rs = null;
con = connection.connectDB();
4.2: 现在,在 prepareStatement 中添加步骤 3.1 的 SQL 查询,执行如下:
p =con.prepareStatement(sql);
rs =p.executeQuery();
4.3: W e 检查 rs.next()是否不为空,然后我们在“cuslogin”表中显示该特定客户的详细信息
4.4: 在同一个包中打开一个新的 java 文件(这里是它的 result.java),并键入完整的代码(如下所示),以便从表“cuslogin”中搜索 id 为 1 的客户的详细信息。
注意:result.java 和 connection.java 这两个文件应该在同一个包里面,否则程序不会给出想要的输出!!
实施:
例 1
通过在 1B 的 main(App) java 程序中创建一个要调用的对象来连接 JDBC 的类
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to search the contents of
// a table in JDBC Connection class for JDBC
// Connection class of JDBC
// Importing required classes
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class connectionDB {
final String DB_URL
= "jdbc:mysql://localhost:3306/testDB?useSSL=false";
// Database credentials
// We need two parameters to access the database
// Root and password
// 1\. Root
final String USER = "root";
// 2\. Password to fetch database
final String PASS = "Imei@123";
// Connection class for our database connectivity
public Connection connectDB()
{
// Initially setting NULL
// to connection class object
Connection con = null;
// Try block to check exceptions
try {
// Loading DB(SQL) drivers
Class.forName("com.mysql.cj.jdbc.Driver");
// Registering SQL drivers
con = DriverManager.getConnection(DB_URL, USER,
PASS);
}
// Catch block to handle database exceptions
catch (SQLException e) {
// Print the line number where exception occurs
e.printStackTrace();
}
// Catch block to handle exception
// if class not found
catch (ClassNotFoundException e) {
// Function prints the line number
// where exception occurs
e.printStackTrace();
}
// Returning Connection class object to
// be used in (App/Main) GFG class
return con;
}
}
App/Main 类程序编译运行的地方调用上面的连接类对象
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to Search the
// contents of a table in JDBC
// Main Java program (App Class) of JDBC
// Step 1: Importing database files
// Importing SQL libraries
import java.sql.*;
// Main class
// It's connection class is shown above
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Step 2: Establishing a connection
connectionDB connection = new connectionDB();
// Assigning NULL to object of Connection class
// as shown returned by above program
Connection con = null;
PreparedStatement p = null;
ResultSet rs = null;
// Step 3: Loading and registereding drivers
// Loaded and registered in Connection class
// shown in above program
con = connection.connectDB();
// Try block to check exceptions
try {
// Step 4: Write a statement
String sql
= "select * from cuslogin where id=1";
// Step 5: Execute the query
p = con.prepareStatement(sql);
rs = p.executeQuery();
// Step 6: Process the results
System.out.println(
"id\t\tname\t\temail\t\tpassword");
// Condition check using next() method
// Holds true till there is single element remaining
// in the object
if (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String email = rs.getString("email");
String password = rs.getString("password");
// Print and display name, emailID and password
System.out.println(id + "\t\t" + name
+ "\t\t" + email + "\t\t"
+ password);
}
}
// Catch block to handle exceptions
catch (SQLException e) {
// Print the exception
System.out.println(e);
}
}
}
输出:基于“cuslogin”表中存储的值。
版权属于:月萌API www.moonapi.com,转载请注明出处