Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

không thể tìm thấy biểu tượng PreparedStatement sau khi nâng cấp JAR

com.mysql.jdbc.PreparedStatement là một lớp nội bộ của trình điều khiển MySQL 5.x JDBC. Mã của bạn không nên nhập nó. Nó phải sử dụng java.sql.PreparedStatement chuẩn thay vào đó là lớp học.

Tên gói đã thay đổi trong trình điều khiển JDBC của MySQL 8.x và đó là nguyên nhân khiến mã của bạn bắt đầu mắc lỗi biên dịch.

Giải pháp:

  1. Sửa mã của bạn để nó không nhập bất kỳ lớp triển khai MySQL nào. Sử dụng java.sql.*javax.sql.* thay vào đó là lớp học.

  2. Thay đổi phụ thuộc dự án của bạn để trình điều khiển MySQL JAR không phải là phụ thuộc thời gian biên dịch. Làm điều đó sẽ gây ra bất kỳ tình cờ nào mã nguồn phụ thuộc vào trình điều khiển JDBC được gắn cờ là lỗi biên dịch. Nó cũng sẽ ngăn IDE của bạn đưa ra các đề xuất không chính xác cho import các câu lệnh. (Tôi đoán đó là cách nhập không có thật vào codebase của bạn.)

  3. Nếu mã của bạn đang (vẫn) sử dụng Class.forName để tải trình điều khiển JDBC, hãy thay đổi nó để sử dụng java.sql.DriverManager thay vì; xem javadoc . Bằng cách đó, bạn sẽ không bị đốt cháy bởi một thay đổi khác trong tên lớp trình điều khiển MySQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bash:Làm thế nào để gọi lệnh và lưu trữ kết quả trong một biến?

  2. Chuyển đổi ngày carbon thành dấu thời gian mysql.

  3. Mã lỗi:1406. Dữ liệu quá dài cho cột - MySQL

  4. VBA - nhận được lỗi 'máy chủ mysql là - chỉ đọc' nhưng chỉ xảy ra khi sử dụng RecordSet

  5. Có tương đương với SHA1 () trong MS-SQL không?