使用Java与MySQL数据库进行CRUD操作实例

原创 一时失言乱红尘 2024-12-07 05:24 91阅读 0赞

以下是一个简单的Java和MySQL CRUD操作的例子。我们将创建一个User类,然后在Java中使用JDBC来执行CRUD操作。

  1. User.java(实体类)
  1. import java.sql.Date;
  2. public class User {
  3. private int id;
  4. private String name;
  5. private Date dateOfBirth;
  6. // Getters and Setters
  7. // ...
  8. }
  1. CRUDOperations.java(进行CRUD操作的Java文件)
  1. import java.sql.Connection;
  2. import java.sql.DriverManager;
  3. import java.sql.PreparedStatement;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.time.LocalDate;
  7. public class CRUDOperations {
  8. private static final String DB_URL = "jdbc:mysql://localhost:3306/userdb";
  9. private static final String USER_TABLE = "users";
  10. public void createUser(User user) throws SQLException {
  11. Connection conn = DriverManager.getConnection(DB_URL);
  12. String sql = "INSERT INTO " + USER_TABLE + " (id, name, dateOfBirth) VALUES (?, ?, ?)";
  13. try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
  14. pstmt.setInt(1, user.getId()));
  15. pstmt.setString(2, user.getName());
  16. pstmt.setDate(3, LocalDate.of(user.getDateOfBirth().getYear(), user.dateOfBirth()..getMonthValue(), user.dateOfBirth().getDate())));
  17. pstmt.executeUpdate();
  18. } finally {
  19. conn.close();
  20. }
  21. }
  22. // Read operations
  23. public User getUserById(int id) throws SQLException {
  24. Connection conn = DriverManager.getConnection(DB_URL);
  25. String sql = "SELECT * FROM " + USER_TABLE + " WHERE id = ?";
  26. try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
  27. pstmt.setInt(1, id));
  28. try (ResultSet rs = pstmt.executeQuery()) {
  29. if (rs.next()) {
  30. User user = new User();
  31. user.setId(rs.getInt("id")));
  32. user.setName(rs.getString("name"));
  33. user.setDateOfBirth(rs.getDate("dateOfBirth")));
  34. return user;
  35. }
  36. }
  37. } finally {
  38. conn.close();
  39. }
  40. // If no user found with the given id
  41. throw new SQLException("User not found with id: " + id);
  42. }
  43. // Update operations
  44. public void updateUser(User user) throws SQLException {
  45. Connection conn = DriverManager.getConnection(DB_URL);
  46. String sql = "UPDATE " + USER_TABLE + " SET name = ?, dateOfBirth = ? WHERE id = ?";
  47. try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
  48. pstmt.setString(1, user.getName()));
  49. pstmt.setDate(2, LocalDate.of(user.getDateOfBirth().getYear()), user.dateOfBirth().MONTHValue(), user.dateOfBirth().DATE()));
  50. pstmt.setInt(3, user.getId()));
  51. pstmt.executeUpdate();
  52. } finally {
  53. conn.close();
  54. }
  55. }
  56. // Delete operations
  57. public void deleteUser(int id) throws SQLException {
  58. Connection conn = DriverManager.getConnection(DB_URL);
  59. String sql = "DELETE FROM " + USER_TABLE + " WHERE id = ?";
  60. try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
  61. pstmt.setInt(1, id));
  62. pstmt.executeUpdate();
  63. } finally {
  64. conn.close();
  65. }
  66. }
  67. }

这个Java文件中,CRUDOperations类包含了创建、读取、更新和删除用户的所有操作。这些操作都是通过JDBC来实现的。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,91人围观)

还没有评论,来说两句吧...

相关阅读