关于“Java对MySQL数据库进行连接、查询和修改操作方法”的完整攻略,我们可以以下列步骤进行:
1. 下载MySQL的JDBC驱动器
Java需要使用MySQL连接器(JDBC驱动器)才能连接MySQL服务器。你可以从MySQL官网上找到驱动器并下载。
下载的链接是:https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.27.tar.gz
有关下载和安装MySQL JDBC Driver的更多信息请查看此处。
2. 添加MySQL JDBC驱动器到项目中
下载JDBC驱动器后,将其中的jar文件添加到项目的classpath路径下。在Maven项目中,可以在pom.xml文件中添加以下依赖项:
<!-- MySQL JDBC驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.27</version>
</dependency>
3. 用Java连接MySQL数据库
下面是一个基本的Java代码片段,它连接到MySQL数据库并返回一个connection对象:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySQLJDBCExample {
private static final String URL = "jdbc:mysql://localhost:3306/test";
private static final String USER = "root";
private static final String PASSWORD = "password";
public static void main(String[] args) {
Connection conn = null;
try {
// 加载MySQL JDBC驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 获取数据库连接
conn = DriverManager.getConnection(URL, USER, PASSWORD);
System.out.println("Connection Success!");
} catch (SQLException ex) {
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
} catch (ClassNotFoundException ex) {
System.out.println("找不到MySQL JDBC驱动类。");
ex.printStackTrace();
} finally {
// 关闭连接
if (conn != null) {
try {
conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}
}
请注意,上面的示例假设MySQL服务器在本地运行,并使用默认端口3306。在实际情况下,你需要替换URL,USER和PASSWORD参数以连接到你的MySQL服务器。
4. 查询MySQL数据库
查询MySQL数据库需要使用Statement和ResultSet对象。
下面是一个基本的代码片段,它查询MySQL数据库中的数据并将结果打印到控制台上:
import java.sql.*;
public class MySQLJDBCExample {
private static final String URL = "jdbc:mysql://localhost:3306/test";
private static final String USER = "root";
private static final String PASSWORD = "password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(URL, USER, PASSWORD);
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM student");
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 ex) {
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
} catch (ClassNotFoundException ex) {
System.out.println("找不到MySQL JDBC驱动类。");
ex.printStackTrace();
} finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}
}
上面的示例假定MySQL数据库test中有一个名为student的表,它包含id,name和age三个字段。
5. 修改MySQL数据库
修改MySQL数据库需要使用PreparedStatement对象。
下面是一个代码示例,它演示如何向MySQL数据库的student表中插入一行数据:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class MySQLJDBCExample {
private static final String URL = "jdbc:mysql://localhost:3306/test";
private static final String USER = "root";
private static final String PASSWORD = "password";
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(URL, USER, PASSWORD);
String sql = "INSERT INTO student(name, age) VALUES (?, ?)";
ps = conn.prepareStatement(sql);
ps.setString(1, "Peter");
ps.setInt(2, 18);
int rowsAffected = ps.executeUpdate();
System.out.println(rowsAffected + " rows affected.");
} catch (SQLException ex) {
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
} catch (ClassNotFoundException ex) {
System.out.println("找不到MySQL JDBC驱动类。");
ex.printStackTrace();
} finally {
if (ps != null) {
try {
ps.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}
}
在上面的示例中,我们创建了一个PreparedStatement对象,并向它传入一条SQL INSERT语句。ps.setString(1, "Peter");
指定了name字段的值,ps.setInt(2, 18)
指定了age字段的值。最后,我们使用ps.executeUpdate()
将数据插入到student表中。
结论
以上就是Java对MySQL数据库进行连接、查询和修改操作方法的完整攻略了。在开发中,我们应该根据实际情况对上述示例进行修改和扩展。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java对MySQL数据库进行连接、查询和修改操作方法 - Python技术站