Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Basis data kueri Java Mysql dengan koneksi

Di returnAllParts#queryReturnAllParts your Anda metode, ubah

con.getDBConnection();

Oleh

con = getDBConnection();

Masalahnya adalah con adalah variabel dari java.sql.Connection dan tidak memiliki getDBConnection metode. Sejak returnAllParts Anda saat ini kelas memperluas DBConnect kelas, ia dapat mengakses public Connection getDBConnection metode tanpa masalah.

Ini karena di Main#main . Anda kelas, Anda telah mendeklarasikan DBConnect con . Jangan bingung variabel ini dengan con variabel dideklarasikan dalam metode lain.

Tidak terkait langsung dengan masalah, tetapi saya menyarankan Anda beberapa perbaikan pada kode/desain Anda saat ini:

  • Ubah nama returnAllParts Anda kelas untuk sesuatu yang lebih bermakna bagi pembaca masa depan (bahkan Anda dalam beberapa hari atau minggu akan menjadi pembaca kode Anda di masa depan). Dari membaca kode Anda, sepertinya kelas ini harus diganti namanya menjadi PartList .
  • Gunakan kumpulan koneksi Database alih-alih dapatkan koneksi Anda secara manual. Ada perpustakaan yang menangani ini untuk Anda seperti BoneCP
  • Mungkin Anda baru mengenal pemrograman, jadi akan lebih baik jika Anda memulai dengan cara yang benar dan mengembangkan aplikasi berlapis-lapis (baca lebih lanjut:Arsitektur multitier ). Dengan dasar ini, kita dapat mengatakan bahwa DAO (atau layanan data, tergantung bagaimana Anda menamakannya) hanya boleh berisi metode untuk mengakses dan mengambil data dengan cara yang dapat digunakan oleh klien lain sesuai keinginan/kebutuhannya, jadi itu akan menjadi lebih baik mengembalikan List<PartList> objek dan lapisan lain dalam aplikasi Anda (mungkin yang paling dekat dengan presentasi) akan menerapkan transformasi dari objek Anda ke String JSON.
  • Untuk sudut pandang desain, akan jauh lebih baik jika objek akses database Anda menggunakan DBConnect objek alih-alih memanjang darinya. Dengan cara ini, Anda dapat memiliki satu DBConnect objek per konfigurasi koneksi database yang terkait dengan semua DAO terkait.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan tidak diketahui:MySQLTransactionRollbackException 1213

  2. MySQL COUNT dari beberapa gabungan kiri - pengoptimalan

  3. Mysql - cara mengatur kenaikan otomatis untuk memulai dari nol

  4. Jika ada cara saya dapat bergabung dalam tabel MS Sql ke Tabel MySql dalam satu kueri menggunakan MySql?

  5. Dapatkan semua catatan Level 1 yang hanya memiliki jumlah nilai tertentu di Level 2