零基础掌握JDBC操作MySQL
什么是JDBC?
JDBC全称为Java Database Connectivity,即Java数据库连接。JDBC API提供了一个标准接口来与各种关系型数据库进行交互。
JDBC操作MySQL的步骤
步骤1:加载JDBC驱动程序
在使用JDBC连接MySQL之前,需要先加载JDBC驱动程序。MySQL官方提供了JDBC驱动程序,下载地址为:https://dev.mysql.com/downloads/connector/j/
下载后将其放在classpath下。
Class.forName("com.mysql.jdbc.Driver");
步骤2:连接MySQL数据库
在加载JDBC驱动程序之后,就可以通过DriverManager.getConnection()方法连接到MySQL数据库。
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, username, password);
步骤3:创建Statement对象
创建Statement对象用于向MySQL发送SQL语句。
Statement stmt = conn.createStatement();
步骤4:执行SQL语句
执行SQL语句有两种方法,一种是Statement对象的executeQuery()方法用于执行查询语句,返回一个ResultSet结果集;另外一种是executeUpdate()方法用于执行更新语句(如insert、update、delete等),返回一个int类型的值,表示影响的行数。
// 查询语句
String sql = "select * from user";
ResultSet rs = stmt.executeQuery(sql);
// 更新语句
String sql = "insert into user (name, age) values ('张三', 18)";
int affectedRows = stmt.executeUpdate(sql);
步骤5:处理结果
如果执行的是查询语句,需要遍历ResultSet结果集;如果是更新语句,则可以直接通过executeUpdate()返回的影响行数判断操作是否成功。
// 查询语句结果处理示例
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println("id:" + id + ",姓名:" + name + ",年龄:" + age);
}
// 更新语句结果处理示例
if (affectedRows > 0) {
System.out.println("插入成功");
} else {
System.out.println("插入失败");
}
示例1:查询user表中的数据并输出
public class SelectDemo {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 加载JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 连接MySQL数据库
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, username, password);
// 创建Statement对象
Statement stmt = conn.createStatement();
// 执行查询语句
String sql = "select * from user";
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 + ",年龄:" + age);
}
// 关闭连接
rs.close();
stmt.close();
conn.close();
}
}
示例2:插入一条数据到user表中
public class InsertDemo {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 加载JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 连接MySQL数据库
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, username, password);
// 创建Statement对象
Statement stmt = conn.createStatement();
// 插入数据
String sql = "insert into user (name, age) values ('张三', 18)";
int affectedRows = stmt.executeUpdate(sql);
// 处理结果
if (affectedRows > 0) {
System.out.println("插入成功");
} else {
System.out.println("插入失败");
}
// 关闭连接
stmt.close();
conn.close();
}
}
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:零基础掌握JDBC操作MySQL - Python技术站