使用 JDBC 连接检索表内容的Java程序
它可以有两种类型,即结构化和非结构化数据库。结构数据库是一种可以按行和列存储的数据库。非结构化数据库不能以引入新概念的行和列的形式存储,这里不讨论。大多数现实世界的数据都是非结构性的,如照片、视频、社交媒体。由于它们没有预定义的数据类型,因此它们不存在于数据库中。因此,结构化数据库存储在数据仓库中,非结构化地存储在数据湖中。 Java Database Connectivity 基本上是Java编程语言与 Oracle、SQL、PostgreSQL、MongoDB 等各种数据库之间的标准 API(应用程序接口)。它连接前端(用于与用户交互)和后端用于存储数据
JDBC 由 7 个称为连接步骤的元素组成。它们列在下面:
JDBC connection steps | Sep/Connection Number |
---|---|
1 | Import the package |
2 | Load and Register the drivers |
3 | Establish the connection |
4 | Create the statement |
5 | Execute the statement |
6 | Process Result |
7 | Close/terminate |
导入包处理JDBC操作的语法:
import java.sql.* ;
加载驱动类后注册驱动的语法:
forName(com.mysql.jdbc.xyz) ;
步骤:下面列出了涵盖所有 7 个组件并应用相同的 3 个步骤:
- 将创建第一个数据库,应该从中获取数据。如果数据是结构化的,则可以使用 SQL 来获取数据。如果数据是非结构化的 MongoDB 从大湖中获取数据。这里创建了 SQL 数据库,所有进一步的执行也是如此。
- 这一步是可选的,因为这里需要太旧并注册驱动程序。在某些 IDE 驱动程序中是内置的,例如 NetBeans,但它们在 eclipse 中缺失。这里需要安装驱动程序。需要下载 Jar 文件,几乎不占用内存空间。
- 使用 JDBC 连接检索表的内容
第 1 步:使用 SQLyog 创建数据库:用户可以使用“ SQLyog”创建数据库并在其中创建一些表并在其中填充数据。
考虑酒店数据库管理系统的随机示例。现在对其应用 SQL 命令,将该数据库命名为“hotelman”。现在假设用户开始在其中插入名为“ cuslogin ”和“ adminlogin ”的表。
第 2 步:创建连接:将IDE 视为 Netbeans 以便清楚理解,因为如果使用任何其他 IDE,请先安装驱动程序,否则现在可以在此包中工作。一旦清除
- 创建一个新包
- 打开一个新的Java文件
- 为JDBC编写以下代码
- 使用连接保存文件名。Java。
为了清楚起见,这里将 IDE 视为 Netbeans。下面是相同的插图:
Java
// Java Program to Retrieve Contents of a Table Using JDBC
// connection
// Showing linking of created database
// Importing SQL libraries to create database
import java.sql.*;
public class connection {
Connection con = null;
public static Connection connectDB()
{
try {
// Importing and registering drivers
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/hotelman",
"root", "1234");
// here,root is the username and 1234 is the
// password,you can set your own username and
// password.
return con;
}
catch (SQLException e) {
System.out.println(e);
}
}
}
Java
// Java Program retrieving contents of
// Table Using JDBC connection
// Java code producing output which is based
// on values stored inside the "cuslogin" table in DB
// Importing SQL libraries to create database
import java.sql.*;
public class GFG {
// Step1: Main driver method
public static void main(String[] args)
{
// Step 2: Making connection using
// Connection type and inbulit function on
Connection con = null;
PreparedStatement p = null;
ResultSet rs = null;
con = connection.connectDB();
// Try block to catch exception/s
try {
// SQL command data stored in String datatype
String sql = "select * from cuslogin";
p = con.prepareStatement(sql);
rs = p.executeQuery();
// Printing ID, name, email of customers
// of the SQL command above
System.out.println("id\t\tname\t\temail");
// Condiion check
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String email = rs.getString("email");
System.out.println(id + "\t\t" + name
+ "\t\t" + email);
}
}
// Catch block to handle exception
catch (SQLException e) {
// Print exception pop-up on scrreen
System.out.println(e);
}
}
}
第三步:使用JDBC连接检索表的内容:假设“cuslogin”表有“id”、“name”、“email”等列,用户想查看“cuslogin”表的内容。它涉及下面给出的一系列步骤,以及用于解释的声明和语法
3.1:我用SQL查询初始化一个字符串如下
String sql="select * from cuslogin";
3.2:初始化Connection类、 PreparedStatement类、ResultSet类(JDBC需要)的以下对象并连接数据库如下:
Connection con=null;
PreparedStatement p=null;
ResultSet rs=null;
con=connection.connectDB();
3.3:现在,在prepareStatement里面添加3.1的SQL查询,执行如下
p =con.prepareStatement(sql);
rs =p.executeQuery();
3.4运行一个循环直到 rs.next() 不等于 NULL ,根据数据类型从表中获取值,例如我们使用getInt()获取整数数据类型值和 getString() 获取字符串数据类型值。
3.5在同一个包中打开一个新的Java文件(这里是它的结果Java)并输入完整代码(如下所示)以检索表“cuslogin”的内容。
3.6两个文件即结果。 Java'和 '连接。 Java'应该在同一个包中,否则程序不会给出所需的输出!
实现:下面是说明相同的Java示例:
Java
// Java Program retrieving contents of
// Table Using JDBC connection
// Java code producing output which is based
// on values stored inside the "cuslogin" table in DB
// Importing SQL libraries to create database
import java.sql.*;
public class GFG {
// Step1: Main driver method
public static void main(String[] args)
{
// Step 2: Making connection using
// Connection type and inbulit function on
Connection con = null;
PreparedStatement p = null;
ResultSet rs = null;
con = connection.connectDB();
// Try block to catch exception/s
try {
// SQL command data stored in String datatype
String sql = "select * from cuslogin";
p = con.prepareStatement(sql);
rs = p.executeQuery();
// Printing ID, name, email of customers
// of the SQL command above
System.out.println("id\t\tname\t\temail");
// Condiion check
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String email = rs.getString("email");
System.out.println(id + "\t\t" + name
+ "\t\t" + email);
}
}
// Catch block to handle exception
catch (SQLException e) {
// Print exception pop-up on scrreen
System.out.println(e);
}
}
}
输出:上面的输出完全基于存储在“cuslogin”表中的值,如上面的代码所示