Java JDBC主要组件连接数据库及执行SQL过程示例全面详解
简介
Java JDBC(Java Database Connectivity)是Java语言访问数据库的基本方式,它提供了一套API,用于连接和处理关系型数据库。在Java开发中,使用JDBC连接数据库是一项必须掌握的技术。
JDBC主要组件
JDBC的主要组件包括:
- 驱动管理器(DriverManager):负责装载数据库驱动程序(Driver),并维护一组可以用于建立数据库连接的驱动程序列表。
- 数据库驱动程序(Driver):不同的数据库会提供不同的驱动程序,用于与对应的数据库进行交互。
- 数据库连接(Connection):代表一个与特定数据库的连接会话。使用Connection对象可以执行SQL语句以及提交数据到数据库。
- 数据库语句(Statement):用于执行SQL语句的对象。Statement对象可以是静态的(执行不带参数的SQL语句)或者预处理的(执行带参数的SQL语句)。
- 结果集(ResultSet):用于保存执行查询语句后返回的结果集。ResultSet对象提供了访问结果集中数据的方法。
连接数据库
连接数据库需要使用到DriverManager和Connection对象。使用DriverManager.getConnection()方法获取Connection对象,该方法需要传递三个参数:JDBC URL、用户名和密码。JDBC URL是一个字符串,包含了连接数据库的协议、主机、端口、数据库名称等信息。
import java.sql.*;
public class JdbcDemo {
public static void main(String[] args) {
try {
//加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println("数据库连接成功");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
执行SQL语句
执行SQL语句需要使用到Connection和Statement对象。使用Connection.createStatement()方法获取Statement对象,然后调用Statement.execute()方法执行SQL语句。execute()方法返回一个boolean值,代表SQL语句是否执行成功。
import java.sql.*;
public class JdbcDemo {
public static void main(String[] args) {
try {
//加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
String sql = "CREATE TABLE student (id INT, name VARCHAR(20))";
boolean isCreated = stmt.execute(sql);
System.out.println("SQL语句是否执行成功:" + !isCreated);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
如果SQL语句执行成功是不会返回ResultSet结果的。若要得到查询结果,需要使用ResultSet对象。当执行查询语句时,使用Statement对象的executeQuery()方法执行SQL语句,该方法返回一个ResultSet对象。
import java.sql.*;
public class JdbcDemo {
public static void main(String[] args) {
try {
//加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM student";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
System.out.println("id: " + id + ", name: " + name);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
以上是连接数据库及执行SQL过程的示例详解,希望对您的学习有帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java JDBC主要组件连接数据库及执行SQL过程示例全面详解 - Python技术站