Artikel ini berbagi bab kedua dari desain kelulusan sistem toko buku Java untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
1. Manajemen Pengguna (user.txt)
Nama dan Pesanan Lapangan
Catatan: Jenisnya adalah tipe int, yang digunakan untuk mewakili jenis operator.
1 - dilambangkan sebagai admin, semua operasi dapat dilakukan
2-dipenuhi sebagai orang yang dapat mengoperasikan modul buku
3 - dinyatakan sebagai orang yang dapat mengoperasikan modul pembelian
4 - Diungkapkan sebagai orang yang dapat mengoperasikan modul penjualan
5 - Diungkapkan sebagai orang yang dapat mengoperasikan modul inventaris
Jenis menggunakan implementasi enumerasi
paket cn.hncu.bookstore.user.common; publik enum usertypeenum {admin (1, "administrator super"), buku (2, "pustakawan"), dalam (3, "administrator pembelian"), keluar (4, "administrator penjualan"), stok (5, "administrator inventory"); tipe int final pribadi; nama string final pribadi; Usertypeenum (tipe int, nama string) {// default private this.name = name; this.type = type; } public int getType () {type return; } public string getName () {return name; } public static int getTypeByName (name string) {for (usertypeenum utm: usertypeenum.values ()) {if (utm.getName (). Equals (name.trim ())) {return utm.gettype (); } } throw new IllegalArgumentException("No user type corresponding to this /""+name+"/");//Illegal parameter exception} public static String getNameByType(int type){ for(UserTypeEnum utm:UserTypeEnum.values()){ if(utm.getType()==type){ return utm.getName(); } } throw new IllegalArgumentException ("Tidak ada jenis pengguna yang sesuai dengan ini/" "+type+"/"); // Pengecualian parameter ilegal}}Paket cn.hncu.bookstore.user.vo; import java.io.serializable; import cn.hncu.bookstore.user.common.usertypeenum;/** * *@penulis </a longto: [email protected] "> xzm </a> mailto: [email protected]"> xzm </a> mailto: [email protected] "> xzm </a> mailto: [email protected]"> xzm </a> SerialVersionuid = 1L; Private String UUID, Nama, PWD; // Nomor Pengguna, Nama Pengguna, Kata Sandi Pengguna Tipe Int Pribadi; // Tipe Pengguna USERMODEL PUBLIK () {} Public String getuuid () {return uuid; } public void setUuid (String uuid) {this.uuid = uuid; } public string getName () {return name; } public void setName (name string) {this.name = name; } public string getPwd () {return pwd; } public void setPwd (String pwd) {this.pwd = pwd; } public int getType () {type return; } public void setType (int tipe) {this.type = type; } @Override public int hashCode () {final int prime = 31; Hasil int = 1; hasil = hasil * prime + ((uuid == null)? 0: uuid.hashcode ()); hasil pengembalian; } @Override public boolean sama (objek obj) {if (this == obj) mengembalikan true; if (obj == null) mengembalikan false; if (getClass ()! = obj.getClass ()) mengembalikan false; Usermodel lain = (usermodel) obj; if (uuid == null) {if (Other.uuid! = null) return false; } else if (! uuid.equals (Other.uuid)) return false; Kembali Benar; } @Override public string toString () {return uuid + "," + name + "," + usertypeenum.getNamebyType (type); }}
Paket cn.hncu.bookstore.user.vo; kelas publik UserQueryModel memperluas userModel {private static final long serialversionuid = 1l;}Lapisan Dao:
Paket cn.hncu.bookstore.user.dao.dao; import java.util.list; import cn.hncu.bookstore.user.vo.usermodel; Jika pengguna ada, itu tidak dapat dibuat * @param pengguna * pengguna yang akan dibuat * @return * Return true jika kreasi berhasil, jika tidak, ia akan mengembalikan false */ public boolean create (userModel pengguna); /*** Hapus pengguna. Jika pengguna tidak ada, itu akan gagal * @param uuid * UUID pengguna yang akan dihapus * @return * Kembalikan true jika penghapusan berhasil, jika tidak salah */ hapus boolean publik (String uuid); /*** Perbarui informasi pengguna. Jika pengguna tidak ada, maka itu tidak dapat diperbarui * @param pengguna * pengguna untuk diperbarui * jika pembaruan berhasil, maka false */ pembaruan boolean publik (pengguna USERMODEL); / ** * Permintaan data pengguna * @param uuid * nomor pengguna informasi yang akan menjadi kueri * @return * Jika pengguna ada, kembalikan objek pengguna dari UUID yang ditentukan, jika tidak kembalikan null */ public usermodel getsle (string uuid); / *** Menurut ketentuan batasan objek nilai kueri, kembalikan semua objek pengguna yang memenuhi Objek Nilai Pengguna* User* @param* @Return* Jika ada pengguna yang memenuhi ketentuan Nilai Kueri Batasan Objek, Kembalikan Koleksi Objek Pengguna, jika tidak, kembalinya setel*/ Daftar Publik <SuModel> GetByCondition (pengguna pengguna); / *** Dapatkan semua objek pengguna dalam file* @return* Kembalikan semua objek pengguna dalam file*/ daftar publik <SuModel> getAll ();}
Paket cn.hncu.bookstore.user.dao.impl; import java.util.arraylist; import java.util.list; import cn.hncu.bookstore.user.user.user.vo.voerelel; cn.hncu.bookstore.user.vo.userquerymodel; impor cn.hncu.bookstore.utils.fileioutil; kelas publik userdaofileImpl mengimplementasikan userdao {private final string statis file_name = "a.txt"; @Override public boolean create (userModel user) {if (user == null) {// Jika informasi pengguna akan terdaftar adalah null, itu tidak dapat didaftarkan, dan mengembalikan false return false; } Daftar <SuModel> list = getAll (); // Dapatkan semua objek pengguna yang sudah ada di file untuk (UserModel u: list) {// travel if (u.getuuid (). Equals (user.getuuid ()) {// Jika pengguna ini sudah ada, tidak dapat didaftarkan kembali false; }} // Setelah traversal di atas, itu berarti pengguna tidak ada, Anda dapat mendaftarkan list.add (pengguna); kembalikan fileoutil.writetofile (daftar, file_name); } @Override public boolean delete (String uuid) {list <SuModel> list = getAll (); untuk (int i = 0; i <list.size (); i ++) {// ketenangan usermodel u = list.get (i); if (u.getuuid (). equals (uuid)) {list.remove (i); // hapus return fileoutil.writetofile (daftar, file_name); }} return false; } @Override Public Boolean Update (userModel user) {List <SuModel> list = getAll (); untuk (int i = 0; i <list.size (); i ++) {userModel u = list.get (i); if (u.getuuid (). Equals (user.getuuid ())) {list.set (i, user); // Setel ulang pengguna yang diberi nomor ke user.getuuid () kembalikan fileoutil.writetofile (daftar, file_name); }} return false; } @Override public usermodel getSingle (string uuid) {list <SuModel> list = getAll (); untuk (userModel u: list) {if (u.getuuid (). equals (uuid)) {return u; }} return null; } @Override Daftar publik <SuModel> getByCondition (userQueryModel user) {List <SuModel> list = getAll (); Daftar <SuModel> reslist = new ArrayList <SUSERMODEL> (); untuk (USERMODEL U: Daftar) {if (user.getuuid ()! = null && user.getuuid (). trim (). length ()> 0) {if (! user.getuuid (). trim (). equals (u.getuuid ())) {lanjutan; }} if (user.getName ()! = null && user.getName (). trim (). length ()> 0) {if (u.getname (). indexof (user.getName ()) ==-1) {lanjutkan; }} if (user.getType ()> 0) {if (u.getType ()! = user.getType ()) {lanjutkan; }} reslist.add (u); } return reslist; } @Override Daftar publik <SuModel> getAll () {return fileoutil.readfromFile (file_name); }} Paket cn.hncu.bookstore.user.dao.factory; impor cn.hncu.bookstore.user.dao.dao.userdao; impor cn.hncu.bookstore.user.dao.impl.userdaofileImpl; kelas publik UserDaofactory {UserdaofileImpl; Public Class Public UserDaofactory {private {userdaofileImpl; kelas publik UserDaofactory {private {private {class public class public UserDAofactory getUserdao () {return new userdaofileImpl (); }}Lapisan Logika Bisnis:
Paket cn.hncu.bookstore.user.business.ebi; impor java.util.list; import cn.hncu.bookstore.user.vo.usermodel; User Cn.hncu.bookstore.user.vo.userqueryModel; antarmuka publik Userebi {public boololean. hapus boolean publik (string uuid); Pembaruan Boolean Publik (Pengguna Usermodel); USERMODEL PUBLIK GetSingle (String UUID); Daftar Publik <SuModel> getByCondition (pengguna UserQueryModel); Daftar Publik <SuModel> getAll (); Daftar Abstrak Publik <SuModel> getAllin (); Daftar Publik <SuModel> getAllout ();} Paket cn.hncu.bookstore.user.business.ebo; impor java.util.list; impor cn.hncu.bookstore.common.uuidmodelconstance; impor cn.hncu.bookstore.common.uuid.dao.factory.uuiddaofactory; cn.hncu.bookstore.user.business.ebi.userebi; impor cn.hncu.bookstore.user.common.usertypeenum; cn.hncu.bookstore.user.user.userus.useruse.useruse.useruse.userus.userus.userusy; cn.hncu.bookstore.user.vo.usermodel; impor cn.hncu.bookstore.user.vo.userquerymodel; kelas publik Userebo mengimplementasikan Userebi {// menyuntikkan userdao dao = userdaofactory.getuserdao (); @Override public boolean create (userModel user) {string uuid = uuiddaofactory.getuuiddao (). GetNextNum (uuidmodelconstance.user); user.setuuid (uuid); return dao.create (pengguna); } @Override public boolean delete (string uuid) {return dao.delete (uuid); } @Override Public Boolean Update (userModel user) {return dao.update (user); } @Override public usermodel getSingle (string uuid) {return dao.getsingle (uuid); } @Override Daftar publik <SuModel> getByCondition (userQueryModel user) {return dao.getByCondition (user); } @Override Daftar publik <SuModel> getAll () {return dao.getall (); } @Override Daftar publik <SuModel> getAllIn () {userQueryModel user = new UserQueryModel (); user.setType (usertypeenum.in.getType ()); return dao.getByCondition (pengguna); } Daftar Publik <SuModel> getAllout () {UserQueryModel user = new UserQueryModel (); user.setType (usertypeenum.out.getType ()); return dao.getByCondition (pengguna); }} package cn.hncu.bookStore.user.business.factory;import cn.hncu.bookStore.user.business.ebi.UserEbi;import cn.hncu.bookStore.user.business.ebo.UserEbo;public class UserEbiFactory { private UserEbiFactory() { } public static UserEbi getUserEbi(){ return new Userebo (); }} 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.