JDBC操作数据库的增加、删除、更新、查找实例分析
Java Database Connectivity (JDBC) 是Java语言中用于在Java应用程序中连接和操作关系型数据库的标准API。它提供了一组Java接口,允许Java应用程序与各种关系型数据库进行通信,包括MySQL、Oracle、PostgreSQL等。
JDBC连接数据库
在使用JDBC之前,我们需要先建立与数据库的连接。连接数据库的基本步骤如下:
- 导入JDBC相关类库。
- 加载数据库驱动。
- 使用驱动管理器获取数据库连接。
- 创建执行SQL语句的对象。
示例代码如下:
import java.sql.*;
public class JdbcDemo {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 1. 导入JDBC相关类库
// 2. 加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
// 3. 使用驱动管理器获取数据库连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
// 4. 创建执行SQL语句的对象
Statement stmt = conn.createStatement();
// ...
// 5. 关闭资源
stmt.close();
conn.close();
}
}
数据库增加数据
使用JDBC向数据库中增加数据,通常需要使用PreparedStatement。PreparedStatement是Statement的子类,它更加安全和高效,可以通过占位符(?)来设置参数,避免了SQL注入等问题。
示例代码如下:
import java.sql.*;
public class JdbcDemo {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 导入JDBC相关类库
// 加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
// 使用驱动管理器获取数据库连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
// 创建PreparedStatement对象
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO user (id, name, age) VALUES (?, ?, ?)");
pstmt.setInt(1, 1);
pstmt.setString(2, "John");
pstmt.setInt(3, 25);
pstmt.executeUpdate();
// 关闭资源
pstmt.close();
conn.close();
}
}
数据库删除数据
使用JDBC从数据库中删除数据,通常需要使用PreparedStatement。PreparedStatement是Statement的子类,它更加安全和高效,可以通过占位符(?)来设置参数,避免了SQL注入等问题。
示例代码如下:
import java.sql.*;
public class JdbcDemo {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 导入JDBC相关类库
// 加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
// 使用驱动管理器获取数据库连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
// 创建PreparedStatement对象
PreparedStatement pstmt = conn.prepareStatement("DELETE FROM user WHERE id = ?");
pstmt.setInt(1, 1);
pstmt.executeUpdate();
// 关闭资源
pstmt.close();
conn.close();
}
}
数据库更新数据
使用JDBC更新数据库数据,通常需要使用PreparedStatement。PreparedStatement是Statement的子类,它更加安全和高效,可以通过占位符(?)来设置参数,避免了SQL注入等问题。
示例代码如下:
import java.sql.*;
public class JdbcDemo {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 导入JDBC相关类库
// 加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
// 使用驱动管理器获取数据库连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
// 创建PreparedStatement对象
PreparedStatement pstmt = conn.prepareStatement("UPDATE user SET age = ? WHERE id = ?");
pstmt.setInt(1, 26);
pstmt.setInt(2, 1);
pstmt.executeUpdate();
// 关闭资源
pstmt.close();
conn.close();
}
}
数据库查找数据
使用JDBC从数据库中查询数据,通常需要使用PreparedStatement。PreparedStatement是Statement的子类,它更加安全和高效,可以通过占位符(?)来设置参数,避免了SQL注入等问题。
示例代码如下:
import java.sql.*;
public class JdbcDemo {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 导入JDBC相关类库
// 加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
// 使用驱动管理器获取数据库连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
// 创建PreparedStatement对象
PreparedStatement pstmt = conn.prepareStatement("SELECT id, name, age FROM user WHERE id = ?");
pstmt.setInt(1, 1);
ResultSet rs = pstmt.executeQuery();
// 处理查询结果
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.format("id: %d, name: %s, age: %d\n", id, name, age);
}
// 关闭资源
pstmt.close();
conn.close();
}
}
上面这些示例演示了如何使用JDBC操作数据库的增加、删除、更新、查找。JDBC是Java语言与关系型数据库间的一座桥梁,掌握好JDBC的操作方法对于Java程序员来说是很重要的。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JDBC操作数据库的增加、删除、更新、查找实例分析 - Python技术站