Tutorial ini berbagi kode JAVA spesifik dari sistem manajemen pendaftaran siswa untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
1. Analisis Persyaratan
1.1 Desain Fungsional Sistem
(1) Be able to query students' basic information, such as: student number, name, age, class and gender (2) Be able to increase, delete, search, modify student information in the table and other functions (3) Be able to save data to MySQL database and record it (4) Be able to update data through mysql database
1.2 Desain Modul Sistem
Sistem manajemen catatan akademik mencakup penambahan modul informasi, menghapus modul informasi, memodifikasi modul informasi, menanyakan modul informasi, dan memperbarui modul data. Administrator sistem dapat memeriksa nomor siswa, nama, jenis kelamin, usia, penghargaan, dan informasi lainnya.
(Untuk desain struktur sistem tertentu diagram ER, silakan merujuk ke Lampiran 2)
2. Implementasi sistem
Sistem ini menggunakan metode pemrograman bahasa Java/JDBC untuk mewujudkan manajemen status siswa.
Menerapkan database MySQL dengan Java, teknologi ini terutama menggunakan impor JDBC.jar, sehingga programmer Java dapat secara bebas memanggil kelas akses dan antarmuka basis data standar.
Kombinasi JDBC dan Java memungkinkan pengguna untuk dengan mudah mengimplementasikan sebagian besar operasi basis data menggunakan pernyataan SQL. Portabilitas mudah Java cocok untuk karakteristik beberapa sistem operasi dan dapat memenuhi kebutuhan pengguna dengan JDBC.
2.1 File Tata Letak Utama
Menurut "prinsip satu hal, satu tempat", program ini ditata dan dokumen yang relevan ditulis untuk dibaca pengguna. Data di MySQL juga dapat diekspor ke file "studinfo.txt" untuk pencetakan atau referensi yang mudah oleh pengguna. JDBC yang digunakan adalah versi 5.0.8. 2.2 Kode Segmen Antarmuka Utama dan Anotasi
Paket jdbc; import java.sql.connection; import java.sql.drivermanager; import java.sql.sqlexception; class public testjdbc {public static void main (string [] args) {try {class.forhame ("com.mysql.jdbc.driver" // Menetapkan koneksi koneksi dengan database // database terletak di IP: 127.0.0.1 (asli) // Nomor port database: 3306 (Nomor port khusus MySQL) // Nama Database Studinfo // Metode Pengkodean UTF-8 // Akun Root // Koneksi Kata Sandi C = DriverManager. "JDBC: mysql: //127.0.0.1: 3306/studinfo? karakterEncoding = utf-8", "root", "admin"); System.out.println ("Koneksi berhasil, dapatkan objek koneksi:" + c); } catch (ClassNotFoundException e) {E.PrintStackTrace (); } catch (sqlexception e) {e.printstacktrace (); }}}2.2 Antarmuka DAO
paket jdbc; impor java.util.list; impor karakter.student; antarmuka publik dao {// tambahkan public void add (stud stud); // Ubah Pembaruan Kekosongan Publik (Stud Stud); // hapus hapus public void (int id); // Dapatkan pahlawan publik Get (int id); // Daftar Publik Query <shongently> Daftar (); // Halaman kueri daftar publik <spulhition> Daftar (int start, int count);}// Silakan periksa komentar lampiran di halaman setelah pernyataan SQL terperinci dan implementasi kode!
2.3 Metode Desain
Model desain tunggal-instan diadopsi. Saat merancang fungsi penambahan, menghapus, mencari, dan memodifikasi, database disebut secara mandiri untuk menghindari kerumitan mempertahankan perangkat lunak pada tahap selanjutnya. Perangkat lunak ini akan secara mandiri mengambil fungsi basis data koneksi sebagai kelas. Itu hanya perlu dipanggil ketika digunakan nanti, tanpa berulang kali menerapkan segmen besar kode koneksi basis data, mengurangi redundansi kode, yang kondusif untuk peningkatan lebih lanjut dari sistem selanjutnya dan memfasilitasi pembacaan oleh programmer lain.
(Berikut ini adalah untuk memfasilitasi bacaan guru, hanya tampilan singleton koneksi SQL-Conncet yang dilakukan!)
Paket util; import java.sql.connection; import java.sql.driverManager; import java.sql.sqlexception; kelas publik dbutil {string statis ip = "127.0.0.1"; port int statis = 3306; Database String Statis = "Siswa"; Static String Encoding = "UTF-8"; string statis loginName = "root"; Statis String Password = "Admin"; static {try {class.forname ("com.mysql.jdbc.driver"); } catch (ClassNotFoundException e) {E.PrintStackTrace (); }} Koneksi statis public getConnection () melempar sqlexception {string url = string.format ("jdbc: mysql: //%s:%d/%s? karakterenCoding =%s", ip, port, database, encoding); return driverManager.getConnection (url, loginName, kata sandi); }} 2.4 Tampilan Antarmuka
Gunakan tombol untuk mengimplementasikan fungsi penambahan, penghapusan, modifikasi dan impor di bagian bawah antarmuka. Anda dapat mengetik ID siswa di dalam kotak di bawah ini untuk mengimplementasikan fungsi kueri (di sini, dengan asumsi bahwa ID adalah satu -satunya kunci utama sistem, cukup pemicu masuk)
3. Cacat Sistem
Ada banyak bug di sistem ini. Misalnya, saat mengimpor dan mengekspor data, garis kosong antara data baru dan data lama tidak dapat dihilangkan. Saat memasukkan nomor siswa baru, itu dapat menyebabkan konflik dengan nomor siswa lama, menghasilkan shutdown otomatis perangkat lunak. Secara keseluruhan, masih ada banyak perbaikan, dan kami berharap dapat memperbaikinya lebih lanjut.
Kedua, perangkat lunak yang dirancang kali ini hanya memiliki satu siswa, yang relatif lajang, sehingga tidak terlalu merepotkan untuk diimplementasikan. Hanya ada bahwa tidak ada ruang untuk implementasi diagram ER dan desain lain yang dipelajari di kelas untuk diselidiki. Saya berharap bahwa selama liburan musim dingin, permintaan antara siswa, kursus, dan guru dapat direalisasikan, dan sistem ini dapat ditingkatkan lebih lanjut.
4. Pro dan kontra implementasi sistem file dan implementasi basis data
Sistem file ditujukan untuk aplikasi tertentu, dengan berbagi yang buruk, redundansi tinggi, kemandirian data yang buruk, dan struktur dalam catatan, dan struktur keseluruhan tanpa struktur, yang dikendalikan oleh aplikasi itu sendiri.
Sistem basis data berorientasi pada dunia nyata, memiliki kemampuan berbagi yang tinggi, redundansi rendah, memiliki kemandirian fisik yang tinggi dan independensi logis tertentu, terstruktur secara keseluruhan, dijelaskan oleh model data, dan sistem manajemen database menyediakan keamanan data, integritas, kontrol bersamaan dan kemampuan pemulihan. Meningkatkan berbagi data; mengurangi redundansi data dan meningkatkan konsistensi data; mengadopsi model data tertentu untuk mewujudkan struktur data; Data dikelola dan dikendalikan oleh DBMS, dan lebih kondusif untuk operasi dan penggunaan orang non-komputer, mengurangi biaya belajar. Dan dengan pengembangan teknologi basis data dan penggunaan perangkat lunak saat ini, pengguna tidak mengetahui penggunaan fungsi basis data perangkat lunak mereka.
LAMPIRAN 1: Pernyataan SQL dalam cuplikan kode ditambahkan, dihapus, dan dimodifikasi (implementasi fungsi relatif sama. Di sini, pembaruan pertama, tambahkan, fungsi hapus ditampilkan, dan kode rumit tidak ditampilkan berulang kali, dan hanya kode kunci yang terdaftar untuk referensi)
1. Implementasi yang diperbarui
// Perbarui Kode Implementasi Pembaruan Publik Snippet (Student Stu) {Boolean Hasil = false; if (stu == null) {return hasil; } coba {// periksa if (querybysno (stu.getsno ()) == 0) {return hasil; } // Implementasi Pembaruan String SQL = "Perbarui Siswa Set ID =?, Name =?, Class =?, Sex =?"; String [] param = {stu.getId (), stu.getName (), stu.getClass (), stu.getsex ()}; int rowcount = db.executeUpdate (sql, param); if (rowCount == 1) {result = true; }} catch (sqlexception se) {se.printstacktrace (); } akhirnya {hancurkan (); } hasil pengembalian; }2. Hapus kode implementasi ( format dan pendirian kelas sama dengan 1, cukup ubah pernyataan SQL)
String sql = "hapus dari siswa di mana id =?"; String [] param = {stu.getId ()};3. Tambah Kode Implementasi
String sql = "masukkan ke siswa (id, nama, kelas, jenis kelamin) nilai (?,?,?,?)"; String [] param = {stu.getId (), stu.getName (), stu.getClass (), stu.getsex ()};4. Implementasi kueri (kueri berdasarkan ID)
private int queryById (string id) melempar sqlexception {int result = 0; if ("" .Equals (id) || id == null) {hasil pengembalian; } String checksql = "pilih * dari siswa di mana id =?"; String [] checkParam = {id}; rs = db.executeQuery (checksql, checkparam); if (rs.next ()) {result = 1; } hasil pengembalian; }}Untuk materi pembelajaran lebih lanjut, harap perhatikan topik khusus "pengembangan sistem manajemen".
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.