博主打算从0-1讲解下java基础教学,今天教学第十六篇:Java连接和操作MySQL数据库。
我将提供一个简单的示例代码,涵盖数据库连接、查询、插入和更新等操作。
一、下载MySQL驱动包
1.下载地址:MySQL :: Download Connector/J
2.解压文件
二、连接MySQL数据库
在 Java 中连接到 MySQL 数据库需要使用 JDBC(Java Database Connectivity)API。您需要提供数据库的 URL、用户名和密码来建立连接。
示例代码:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DatabaseConnection { private static final String URL = "jdbc:mysql://localhost:3306/mydatabase"; private static final String USERNAME = "username"; private static final String PASSWORD = "password"; public static Connection getConnection() { Connection connection = null; try { // 注册 JDBC 驱动程序 Class.forName("com.mysql.cj.jdbc.Driver"); // 打开连接 connection = DriverManager.getConnection(URL, USERNAME, PASSWORD); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } return connection; } }
三、执行SQL查询
一旦连接成功,您就可以使用 Statement
或 PreparedStatement
对象执行 SQL 查询。
示例代码:
import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class QueryExample { public static void main(String[] args) { try { Connection connection = DatabaseConnection.getConnection(); Statement statement = connection.createStatement()) String sql = "SELECT * FROM users"; ResultSet resultSet = statement.executeQuery(sql); while (resultSet.next()) { int id = resultSet.getInt("id"); String username = resultSet.getString("username"); String email = resultSet.getString("email"); System.out.println("ID: " + id + ", Username: " + username + ", Email: " + email); } } catch (SQLException e) { e.printStackTrace(); } } }
四、执行SQL插入和更新
您也可以使用 Statement
或 PreparedStatement
对象执行 SQL 插入和更新操作。
示例代码:
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class InsertUpdateExample { public static void main(String[] args) { try { Connection connection = DatabaseConnection.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO users (username, email) VALUES (?, ?)")) preparedStatement.setString(1, "john"); preparedStatement.setString(2, "john@example.com"); int rowsInserted = preparedStatement.executeUpdate(); if (rowsInserted > 0) { System.out.println("A new user was inserted successfully!"); } } catch (SQLException e) { e.printStackTrace(); } } }
五、执行SQL删除
当需要删除数据库中的记录时,可以使用 SQL 中的 DELETE 语句。下面是使用 Java 执行 DELETE 操作的示例代码。
示例代码:
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class DeleteExample { public static void main(String[] args) { try { Connection connection = DatabaseConnection.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement("DELETE FROM users WHERE id = ?")) // 设置要删除的记录的 ID int userIdToDelete = 1; preparedStatement.setInt(1, userIdToDelete); // 执行删除操作 int rowsDeleted = preparedStatement.executeUpdate(); if (rowsDeleted > 0) { System.out.println("User with ID " + userIdToDelete + " has been deleted successfully!"); } else { System.out.println("No user found with ID " + userIdToDelete); } } catch (SQLException e) { e.printStackTrace(); } } }
六、注意事项
- 在使用完数据库连接后,务必关闭连接,以释放资源。
- 使用
try-with-resources
来确保资源被正确关闭,从而避免资源泄漏。 - 在生产环境中,避免在代码中硬编码数据库连接信息,可以使用配置文件或者环境变量来管理敏感信息。
这些是使用 Java 连接和操作 MySQL 数据库的基本步骤和示例代码。您可以根据自己的需求进一步扩展和优化这些代码。