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

Cơ sở dữ liệu truy vấn Java Mysql có kết nối

Trong returnAllParts#queryReturnAllParts của bạn phương pháp, thay đổi

con.getDBConnection();

Bởi

con = getDBConnection();

Vấn đề là con là một biến từ java.sql.Connection và nó không có getDBConnection phương pháp. Vì returnAllParts hiện tại của bạn lớp mở rộng DBConnect , nó có thể truy cập vào public Connection getDBConnection phương pháp không có vấn đề.

Điều này là do trong Main#main của bạn lớp, bạn đã khai báo DBConnect con . Đừng nhầm lẫn biến này với con biến được khai báo trong các phương thức khác.

Không liên quan trực tiếp đến vấn đề, nhưng tôi đề xuất bạn một số cải tiến đối với mã / thiết kế hiện tại của bạn:

  • Thay đổi tên của returnAllParts của bạn lớp cho điều gì đó có ý nghĩa hơn cho những người đọc trong tương lai (thậm chí bạn trong một số ngày hoặc vài tuần sẽ trở thành người đọc mã của bạn trong tương lai). Từ việc đọc mã của bạn, có vẻ như lớp này sẽ được đổi tên thành PartList .
  • Sử dụng nhóm kết nối Cơ sở dữ liệu thay vì nhận các kết nối của bạn theo cách thủ công. Có những thư viện xử lý việc này cho bạn như BoneCP
  • Có thể bạn là người mới lập trình, vì vậy tốt hơn hết là bạn nên bắt đầu đúng cách và phát triển ứng dụng của mình theo từng lớp (đọc thêm: Kiến trúc nhiều hơn ). Với cơ sở này, chúng ta có thể nói rằng một DAO (hoặc dịch vụ dữ liệu, tùy thuộc vào cách bạn đặt tên nó) chỉ nên chứa các phương thức để truy cập và truy xuất dữ liệu theo cách mà các khách hàng khác có thể sử dụng nó như họ muốn / cần, vì vậy nó sẽ là tốt hơn nên trả lại List<PartList> đối tượng và một lớp khác trong ứng dụng của bạn (có thể là lớp gần nhất với bản trình bày) sẽ áp dụng chuyển đổi từ các đối tượng của bạn thành Chuỗi JSON.
  • Đối với quan điểm thiết kế, sẽ là cách tốt hơn nếu các đối tượng truy cập cơ sở dữ liệu của bạn sử dụng DBConnect đối tượng thay vì mở rộng từ nó. Bằng cách này, bạn có thể có một DBConnect duy nhất đối tượng trên mỗi cấu hình kết nối cơ sở dữ liệu được liên kết với tất cả các DAO có liên quan.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Một cách di động để cung cấp thời gian hồi chiêu dựa trên IP?

  2. mysqli_connect Lỗi nghiêm trọng:request ()

  3. Nhận số lượng bản ghi trong bảng con

  4. InnoDB chèn rất chậm và làm chậm

  5. Hợp nhất hai cột từ hai bảng thành một