Java函数:使用JDBC连接数据库并执行CRUD操作
Java是一种非常流行的计算机编程语言,在实际应用中,通常需要和数据库进行交互,用于实现数据的存储、查询、更新和删除等操作。JDBC是Java连接数据库的标准API,通过JDBC可以实现与多种关系型数据库通信。本文将介绍如何使用JDBC连接数据库并执行CRUD操作。
1. 准备工作
首先,需要下载并安装相应的数据库驱动程序,以MySQL数据库为例,可以从MySQL官网下载MySQL Connector/J。接着,需要在Java项目中导入相应的驱动程序。
2. 建立连接
在编写使用JDBC连接数据库的Java程序之前,需要先建立数据库连接。建立连接的代码如下:
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/test_db?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true";
String user = "root";
String password = "123456";
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(url, user, password);
System.out.println("Database connection successful.");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
其中,url是指要连接的数据库URL,user是用户名,password是密码。使用Class.forName()方法加载驱动程序,并使用DriverManager.getConnection()方法建立连接。
3. 执行CRUD操作
3.1 创建表
在执行CRUD操作之前,需要先建立一张表。创建表的代码如下:
Statement stmt = null;
String sql = "CREATE TABLE employee (" +
"id INT NOT NULL AUTO_INCREMENT, " +
"name VARCHAR(50) NOT NULL, " +
"age INT NOT NULL, " +
"PRIMARY KEY (id))";
try {
stmt = conn.createStatement();
stmt.executeUpdate(sql);
System.out.println("Employee table created successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
其中,sql是建表的SQL语句,使用conn.createStatement()方法创建一个Statement对象,使用stmt.executeUpdate()方法执行SQL语句。
3.2 插入数据
插入数据的代码如下:
PreparedStatement pstmt = null;
String sql = "INSERT INTO employee (name, age) VALUES (?, ?)";
try {
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "Tom");
pstmt.setInt(2, 25);
int rows = pstmt.executeUpdate();
System.out.println(rows + " row(s) affected.");
} catch (SQLException e) {
e.printStackTrace();
}
其中,使用PreparedStatement对象进行插入数据操作,使用占位符?代替具体的参数值。使用pstmt.setString()和pstmt.setInt()方法设置占位符的值,使用pstmt.executeUpdate()方法执行SQL语句,并返回受影响的行数。
3.3 查询数据
查询数据的代码如下:
Statement stmt = null;
String sql = "SELECT * FROM employee";
try {
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println("ID: " + id + ", Name: " + name + ", Age: " + age);
}
} catch (SQLException e) {
e.printStackTrace();
}
其中,使用stmt.executeQuery()方法执行SQL查询语句,获取查询结果集ResultSet对象。使用ResultSet对象的next()方法遍历结果集,使用getInt()和getString()方法获取查询结果集中指定列的值。
3.4 更新数据
更新数据的代码如下:
PreparedStatement pstmt = null;
String sql = "UPDATE employee SET age = ? WHERE id = ?";
try {
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 30);
pstmt.setInt(2, 1);
int rows = pstmt.executeUpdate();
System.out.println(rows + " row(s) affected.");
} catch (SQLException e) {
e.printStackTrace();
}
其中,使用PreparedStatement对象进行更新数据操作,使用占位符?代替具体的参数值。使用pstmt.setInt()方法设置占位符的值,使用pstmt.executeUpdate()方法执行SQL语句,并返回受影响的行数。
3.5 删除数据
删除数据的代码如下:
PreparedStatement pstmt = null;
String sql = "DELETE FROM employee WHERE id = ?";
try {
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 1);
int rows = pstmt.executeUpdate();
System.out.println(rows + " row(s) affected.");
} catch (SQLException e) {
e.printStackTrace();
}
其中,使用PreparedStatement对象进行删除数据操作,使用占位符?代替具体的参数值。使用pstmt.setInt()方法设置占位符的值,使用pstmt.executeUpdate()方法执行SQL语句,并返回受影响的行数。
4. 关闭连接
在执行CRUD操作之后,需要关闭与数据库的连接。关闭连接的代码如下:
if (conn != null) {
try {
conn.close();
System.out.println("Database connection closed.");
} catch (SQLException e) {
e.printStackTrace();
}
}
其中,使用conn.close()方法关闭连接。
总结
在Java项目中使用JDBC连接数据库并执行CRUD操作,首先需要建立与数据库的连接,然后可以进行表的创建、数据的插入、查询、更新和删除操作。最后需要关闭连接。JDBC是Java连接数据库的标准API,通过JDBC可以实现与多种关系型数据库通信,使得Java与数据库之间的交互变得更加方便和高效。
