要通过JDBC连接MySQL数据库并实现对Goods表的CRUD操作,你首先需要确保你有一个可用的MySQL数据库,并且已经创建了名为Goods的表。同时,确保你的Java开发环境中已经添加了MySQL的JDBC驱动。

以下是一个简化的步骤,演示如何对Goods表执行CRUD操作:

  1. 加载和注册JDBC驱动
    首先,加载MySQL JDBC驱动,并注册它。这可以通过调用 Class.forName()方法完成。
Class.forName("com.mysql.cj.jdbc.Driver");
  1. 建立数据库连接
    使用 DriverManager.getConnection()方法建立到MySQL数据库的连接。
String url = "jdbc:mysql://localhost:3306/your_database_name?useSSL=false";
String user = "your_username";
String password = "your_password";
Connection connection = DriverManager.getConnection(url, user, password);
  1. 创建 StatementPreparedStatement
    为了执行SQL语句,需要创建一个 StatementPreparedStatement对象。PreparedStatement推荐用于执行参数化查询。
Statement statement = connection.createStatement();
PreparedStatement preparedStatement = connection.prepareStatement("SQL_QUERY");
  1. 执行CRUD操作
  • Create(新增记录)
String insertSql = "INSERT INTO Goods (name, price) VALUES (?, ?)";
PreparedStatement insertStatement = connection.prepareStatement(insertSql);
insertStatement.setString(1, "ProductName");
insertStatement.setBigDecimal(2, new BigDecimal("10.99"));
insertStatement.executeUpdate();
  • Read(读取记录)
String selectSql = "SELECT * FROM Goods WHERE id = ?";
PreparedStatement selectStatement = connection.prepareStatement(selectSql);
selectStatement.setInt(1, 1);
ResultSet resultSet = selectStatement.executeQuery();
while(resultSet.next()) {
    // 获取字段值
    int id = resultSet.getInt("id");
    String name = resultSet.getString("name");
    BigDecimal price = resultSet.getBigDecimal("price");
    // 进行操作...
}
  • Update(更新记录)
String updateSql = "UPDATE Goods SET price = ? WHERE id = ?";
PreparedStatement updateStatement = connection.prepareStatement(updateSql);
updateStatement.setBigDecimal(1, new BigDecimal("12.99"));
updateStatement.setInt(2, 1);
updateStatement.executeUpdate();
  • Delete(删除记录)
String deleteSql = "DELETE FROM Goods WHERE id = ?";
PreparedStatement deleteStatement = connection.prepareStatement(deleteSql);
deleteStatement.setInt(1, 1);
deleteStatement.executeUpdate();
  1. 处理异常
    在操作过程中,需要处理SQLException,以防数据库操作出现问题。
try {
    // JDBC操作...
} catch (SQLException e) {
    // 异常处理...
}
  1. 关闭资源
    操作完成后,关闭 ResultSetStatementPreparedStatementConnection资源以释放数据库连接。
resultSet.close();
statement.close();
preparedStatement.close();
connection.close();

请注意,上面的示例代码演示了如何执行简单的CRUD操作,但在实际应用中,这些代码需要集成到具体的DAO(Data Access Object)类中,并处理更多异常情况,同时通过使用事务管理确保数据库操作的一致性和完整性。

此外,上述示例代码中,ConnectionStatementPreparedStatementResultSet在finally块中或使用try-with-resources语句关闭,以确保即使在发生异常时也能释放资源,这是遵循良好编程实践的重要一部分。

综上所述,这是一种简洁且易于理解的方法,通过JDBC与MySQL进行交互,实现对特定数据表的CRUD操作。它演示了JDBC的基本使用流程,这是任何数据导向型Java应用的基础。

云服务器/高防CDN推荐

蓝易云国内/海外高防云服务器推荐


海外免备案云服务器链接:www.tsyvps.com

蓝易云安全企业级高防CDN:www.tsycdn.com

持有增值电信营业许可证:B1-20222080【资质齐全】

蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。


百度搜索:蓝易云

蓝易云是一家专注于香港及国内数据中心服务的提供商,提供高质量的服务器租用和云计算服务、包括免备案香港服务器、香港CN2、美国服务器、海外高防服务器、国内高防服务器、香港VPS等。致力于为用户提供稳定,快速的网络连接和优质的客户体验。
最后修改:2024 年 01 月 04 日
如果觉得我的文章对你有用,请随意赞赏