Este artículo comparte el segundo capítulo del diseño de graduación del sistema Java Bookstore para su referencia. El contenido específico es el siguiente
1. Gestión de usuarios (user.txt)
Nombres de campo y orden
Nota: El tipo es Tipo int, que se utiliza para representar el tipo de operador.
1 - denotado como administrador, todas las operaciones se pueden realizar
2-Denotado como una persona que puede operar el módulo de libro
3 - Expresado como una persona que puede operar el módulo de compra
4 - expresado como una persona que puede operar módulos de ventas
5 - Expresada como una persona que puede operar módulos de inventario
El tipo utiliza la implementación de enumeración
paquete cn.hncu.bookstore.user.common; public enum usertypeenum {admin (1, "super administrador"), libro (2, "bibliotecario"), en (3, "administrador de compra"), out (4, "administrador de ventas"), stock (5, "administrador de inventario"); Tipo de int -int -intivid privado; Nombre de cadena final privado; Usertypeenum (int type, name de cadena) {// privado privado this.name = name; this.type = type; } public int getType () {Tipo de retorno; } public String getName () {nombre de retorno; } public static int getTypebyName (nombre de cadena) {for (usertypeenum utm: usertypeenum.values ()) {if (utm.getName (). Equals (name.trim ()) {return utm.gettype (); }} tirar nueva ilegalArgumentException ("No hay tipo de usuario correspondiente a esto/" "+nombre+"/"); // excepción de parámetro ilegal} public static string getNameByType (int type) {for (userTypeenum utm: usertypeenum.values ()) {ifm.getType () == type) {regreso UtmetName ();} IlegalArgumentException ("No hay tipo de usuario correspondiente a este/" "+tipo+"/"); // Excepción de parámetros ilegales}}paquete cn.hncu.bookstore.user.vo; import java.io.serializable; import cn.hncu.bookstore.user.common.usertypeenum;/** * *@autor <a href = "mailto: [email protected]"> xzm </a> */public classModel Implements serializable {private statatsable { SerialVersionUid = 1L; Cadena privada uuid, nombre, pwd; // número de usuario, nombre de usuario, contraseña de usuario private int type; // Tipo de usuario Public Usermodel () {} public String getuuid () {return uuid; } public void setuuid (string uuid) {this.uuid = uuid; } public String getName () {nombre de retorno; } public void setName (nombre de cadena) {this.name = name; } public String getPwd () {return pwd; } public void setPwd (string pwd) {this.pwd = pwd; } public int getType () {Tipo de retorno; } public void settype (int type) {this.type = type; } @Override public int hashcode () {final int prime = 31; int resultado = 1; resultado = prime * resultado + ((uuid == null)? 0: uuid.hashcode ()); resultado de retorno; } @Override public boolean iguales (objeto obj) {if (this == obj) return true; if (obj == null) return false; if (getClass ()! = obj.getClass ()) return false; Usermodel otro = (usermodel) obj; if (uuid == null) {if (other.uuid! = null) return false; } else if (! uuid.equals (other.uuid)) return false; devolver verdadero; } @Override public string toString () {return uuid + "," + name + "," + usertypeenum.getNameByType (type); }}
paquete cn.hncu.bookstore.user.vo; pública clase userQueryModel extiende usermodel {private static final long serialversionUid = 1l;}Capa Dao:
paquete cn.hncu.bookstore.user.dao.dao; import java.util.list; import cn.hncu.bookstore.user.vo.usermodel; import cn.hncu.bookstore.user.vo.userQueryModel; interface pública userdao { /*** registrar un nuevo usuario. Si el usuario existe, no se puede crear * @param User * Usuario para ser creado * @return * return true Si la creación es exitosa, de lo contrario devolverá False */ public boolean create (user user); /*** Eliminar un usuario. Si el usuario no existe, fallará * @param uuid * El uuid del usuario se eliminará * @return * return true Si la eliminación es exitosa, de lo contrario falso */ public boolean delete (string uuid); /*** Actualizar información del usuario. Si el usuario no existe, entonces no se puede actualizar * @param User * Usuario para ser actualizado * Si la actualización es exitosa, entonces FALSE */ Public Boolean Update (Usermodel User); / ** * Consulte los datos de un usuario * @param UUID * Número de usuario de la información que se consulta * @return * Si el usuario existe, devuelva el objeto de usuario del UUID especificado, de lo contrario devuelve nulo */ public usermodel getSingle (string uuid); / *** Según las condiciones de la restricción del objeto de valor de consulta, devuelva todos los objetos de usuario que cumplan con el usuario* @param user* Valor de consulta Objeto* @return* Si hay un usuario que cumple con las condiciones de la restricción de objetos de valor de la consulta, devuelve la colección de objetos del usuario, de lo contrario devuelve un conjunto vacío*/ Lista pública <Sermodel> GetByCondition (userqueryModel User); / *** Obtenga todos los objetos de usuario en el archivo* @return* Devuelve todos los objetos de usuario en el archivo*/ Public List <Sermodel> getAll ();} paquete cn.hncu.bookstore.user.dao.impl; import java.util.arrayList; import java.util.list; import cn.hncu.bookstore.user.dao.dao.userdao; import cn.hncu.bookstore.user.vo.usermodel; import cn.hncu.bookstore.user.vo.userQueryModel; import cn.hncu.bookstore.utils.fileioutil; clase pública userDaoFileImpl implementa userdao {private final static string file_name = "a.txt"; @Override public boolean create (userModel user) {if (user == null) {// Si la información del usuario que se registra es nula, no se puede registrar y devuelve falso return false; } List <Ssermodel> list = getAll (); // Obtenga todos los objetos de usuario que ya existen en el archivo para (usermodel u: list) {// viajar if (u.getuuid (). Iguales (user.getuuid ())) {// Si este usuario ya existe, no se puede registrar retorno falso; }} // Después del recorrido anterior, significa que el usuario no existe, puede registrar list.add (usuario); devolver fileioutil.writeTofile (list, file_name); } @Override public boolean Delete (String uuid) {list <sermodel> list = getAll (); for (int i = 0; i <list.size (); i ++) {// Tranquility usermodel u = list.get (i); if (u.getuuid (). Equals (uuid)) {list.remove (i); // eliminar return fileiooutil.writeTofile (list, file_name); }} return false; } @Override public Boolean Update (userModel user) {list <Ssermodel> list = getAll (); for (int i = 0; i <list.size (); i ++) {usermodel u = list.get (i); if (u.getuuid (). Equals (user.getuuid ())) {list.set (i, user); // restablecer el usuario numerado a user.getuuid () return fileioutil.writefile (list, file_name); }} return false; } @Override public usermodel getSingle (string uuid) {list <sermodel> list = getAll (); for (usermodel u: list) {if (u.getuuid (). Equals (uuid)) {return u; }} return null; } @Override Public List <Ssermodel> GetByCondition (UserQueryModel User) {list <Ssermodel> list = getAll (); List <Ssermodel> reslist = new ArrayList <Ssermodel> (); for (usermodel u: list) {if (user.getuuid ()! = null && user.getuuid (). trim (). longitud ()> 0) {if (! user.getuuid (). trim (). equals (u.getuuid ()) {continuar; }} if (user.getName ()! = null && user.getName (). Trim (). Longitud ()> 0) {if (U.getName (). indexOf (user.getName ()) ==-1) {continuar; }} if (user.gettype ()> 0) {if (u.gettype ()! = user.gettype ()) {continuar; }} reslist.add (u); } return reslist; } @Override Public List <Ssermodel> getAll () {return FileIoutil.ReadFiLED (file_name); }} paquete cn.hncu.bookstore.user.dao.factory; import cn.hncu.bookstore.user.dao.dao.userdao; import cn.hncu.bookstore.user.dao.impl.userdaofileMpl; clase pública usuarios de usuarios de clase pública {usuarios privados de usuarios () getUserDAO () {return New UserDaOfileImpl (); }}Capa lógica de negocios:
paquete cn.hncu.bookstore.user.business.ebi; import java.util.list; import cn.hncu.bookstore.user.vo.usermodel; import cn.hncu.bookstore.user.vo.userQueryModel; interfaz pública userebi {pública boolean create (usermodel user); Public Boolean Eletre (String uuid); Actualización pública booleana (usuario usermodel); público usermodel getSingle (string uuid); Lista pública <SerModel> GetByCondition (usuario de userQueryModel); Lista pública <Ssermodel> getAll (); Lista de resúmenes públicos <SerModel> getAllin (); Lista pública <Ssermodel> getallout ();} paquete cn.hncu.bookstore.user.business.ebo; import java.util.list; import cn.hncu.bookstore.common.uuidmodelconstance; import cn.hncu.bookstore.common.uuid.dao.factory.uuiddaofactory; importación; cn.hncu.bookstore.user.business.ebi.userebi; import cn.hncu.bookstore.user.common.usertypeenum; import cn.hncu.bookstore.user.dao.dao.userdao; import cn.hncu.bookstore.user.da.userdaoryoryoryorday; cn.hncu.bookstore.user.vo.usermodel; import cn.hncu.bookstore.user.vo.userQueryModel; public class userebo implementa userebi {// inyect userdao dao = userDaofactory.getUserDao (); @Override public boolean create (userModel user) {string uuid = uuiddaofactory.getuuiddao (). GetNextNum (uuidModelConstance.user); user.setuuid (uuid); devolver dao.create (usuario); } @Override public boolean Delete (String uuid) {return dao.delete (uuid); } @Override public Boolean Update (userModel user) {return dao.update (usuario); } @Override public usermodel getSingle (string uuid) {return dao.getSingle (uuid); } @Override Public List <Ssermodel> GetByCondition (UserQueryModel User) {return dao.getByCondition (usuario); } @Override Public List <Ssermodel> getAll () {return dao.getall (); } @Override Public List <Ssermodel> getAllIn () {userQueryModel user = new UserQueryModel (); user.settype (usertypeenum.in.gettype ()); devolver dao.getbycondition (usuario); } Lista pública <SerModel> getallout () {userQueryModel user = new UserQueryModel (); user.settype (usertypeenum.out.gettype ()); devolver dao.getbycondition (usuario); }} paquete cn.hncu.bookstore.user.business.factory; import cn.hncu.bookstore.user.business.ebi.userebi; import cn.hncu.bookstore.user.business.ebo.userebo; clase pública Userebifory {private userebifactory ()} public static userebi () () Userebo (); }} Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.