一篇文章带你学习JDBC(Java Database Connectivity)
什么是JDBC?JDBC(Java Database Connectivity,Java数据库毗连)是一个Java API,它提供了一种尺度方法,答应Java步调毗连到数据库并实验SQL语句。它是一个独立于数据库的API,这意味着开辟者可以使用雷同的代码毗连到不同类型的数据库体系。
JDBC的用途
[*]1.提供同一的数据库访问方式:JDBC定义了一套尺度的API,使得Java步调可以以一种同一的方式访问不同的数据库体系,降低了学习和开辟的难度。
[*]2.简化数据库操作:JDBC API提供了丰富的方法来实验SQL语句和管理数据库毗连,极大地简化了数据库编程的复杂性。
。
[*]3.支持变乱处理和批处理:JDBC支持变乱控制和批处理操作,进步了数据处理的效率和可靠性。
[*]4.增强代码的可移植性:由于JDBC是基于Java语言的,以是使用JDBC编写的数据库访问代码具有很好的跨平台性和可移植性。
JDBC API包罗以下几个主要组件:
[*] JDBC Driver:一个答应Java应用步调与数据库进行通讯的驱动步调。不同的数据库需要不同的JDBC驱动步调。
[*] Connection:表示与特定命据库的毗连。通过这个毗连,应用步调可以发送SQL语句并接收结果。
[*] Statement:用于创建SQL语句和实验它们的对象。
[*] PreparedStatement:是Statement的一个子类,答应预编译SQL语句,这可以进步性能,并且可以防止SQL注入攻击。
[*] CallableStatement:用于实验存储过程。
[*] ResultSet:包含实验查询后返回的数据。
[*] DatabaseMetaData:提供了关于数据库的信息,好比表名、列名等。
使用步调:
1.导入JDBC类库:在步调中包含数据库编程所需的JDBC类。
2.注册JDBC驱动:初始化驱动步调,以便可以打开与数据库的通讯通道。
3.打开毗连:使用DriverManager.getConnection()方法创建一个Connection对象,它表示与数据库的物理毗连。
4.实验查询:使用类型为Statement或PreparedStatement的对象来构建和提交SQL语句到数据库。
5.处理结果集:使用ResultSet对象来获取查询结果。
6.关闭资源:明白地关闭所有数据库资源,以镌汰资源浪费。
注意:在使用JDBC之前,需要确保在Mysql数据库中创建本身所需要的数据库对象。
代码示例
package JDBC;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcExample {
public static void main(String[] args) {
// 数据库连接信息
String url = "jdbc:mysql://localhost/userdatabase";
//"jdbc:mysql://localhost:这是数据库服务器的主机名。/userdatabase这是要连接的数据库名称。
String user = "root";
String password = "123456";
//user和password,它们用于存储连接到数据库所需的用户名和密码。
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
// 加载并注册JDBC驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 建立数据库连接
connection = DriverManager.getConnection(url, user, password);
// 创建Statement对象
statement = connection.createStatement();
// 执行SQL查询
String sql = "SELECT * FROM UserData";
resultSet = statement.executeQuery(sql);
// 处理结果集
while (resultSet.next()) {
String name = resultSet.getString("name");
String pwd = resultSet.getString("pwd");
System.out.println("Name: " + name + ", Password: " + pwd);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭资源
try {
if (resultSet != null) resultSet.close();
if (statement != null) statement.close();
if (connection != null) connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
[*]输出结果(这里我是已经将查询的信息存入数据库中)
[*]https://i-blog.csdnimg.cn/direct/a3285ebf48714d968636c59dc44f0903.png#pic_center
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]