本文实例为大家分享了java书店系统毕业设计第二篇,供大家参考,具体内容如下
1、用户管理(user.txt)
字段名和顺序
说明:其中的type为int类型,用来表示操作用户的类型。
1——表示为admin,可以进行全部操作
2——表示为能操作图书模块的人员
3——表示为能操作进货模块的人员
4——表示为能操作销售模块的人员
5——表示为能操作库存模块的人员
type用了枚举实现
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
package cn.hncu.bookStore.user.common;
public enum UserTypeEnum {
AdMIN( 1 , "超级管理员" ),BOOK( 2 , "图书管理员" ),IN( 3 , "进货管理员" ),OUT( 4 , "销售管理员" ),STOCK( 5 , "库存管理员" );
private final int type;
private final String name;
UserTypeEnum( int type,String name){ //默认private
this .name =name;
this .type=type;
}
public int getType() {
return type;
}
public String getName() {
return name;
}
public static int getTypeByName(String name){
for (UserTypeEnum utm:UserTypeEnum.values()){
if (utm.getName().equals(name.trim())){
return utm.getType();
}
}
throw new IllegalArgumentException( "没有该\"" +name+ "\"对应的用户类型" ); //非法参数异常
}
public static String getNameByType( int type){
for (UserTypeEnum utm:UserTypeEnum.values()){
if (utm.getType()==type){
return utm.getName();
}
}
throw new IllegalArgumentException( "没有该\"" +type+ "\"对应的用户类型" ); //非法参数异常
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
package cn.hncu.bookStore.user.vo;
import java.io.Serializable;
import cn.hncu.bookStore.user.common.UserTypeEnum;
/**
*
*@author<a href="mailto:2402201666@qq.com">xzm</a>
*/
public class UserModel implements Serializable{
private static final long serialVersionUID = 1L;
private String uuid,name,pwd; //用户编号,用户名称,用户密码
private int type; //用户类型
public UserModel() {
}
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this .uuid = uuid;
}
public String getName() {
return name;
}
public void setName(String name) {
this .name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this .pwd = pwd;
}
public int getType() {
return type;
}
public void setType( int type) {
this .type = type;
}
@Override
public int hashCode() {
final int prime = 31 ;
int result = 1 ;
result = prime * result + ((uuid == null ) ? 0 : uuid.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if ( this == obj)
return true ;
if (obj == null )
return false ;
if (getClass() != obj.getClass())
return false ;
UserModel other = (UserModel) obj;
if (uuid == null ) {
if (other.uuid != null )
return false ;
} else if (!uuid.equals(other.uuid))
return false ;
return true ;
}
@Override
public String toString() {
return uuid + "," + name + "," + UserTypeEnum.getNameByType(type);
}
}
|
1
2
3
4
|
package cn.hncu.bookStore.user.vo;
public class UserQueryModel extends UserModel{
private static final long serialVersionUID = 1L;
}
|
dao层:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
package cn.hncu.bookStore.user.dao.dao;
import java.util.List;
import cn.hncu.bookStore.user.vo.UserModel;
import cn.hncu.bookStore.user.vo.UserQueryModel;
public interface UserDAo {
/**
* 注册一个新用户,如果该用户存在,则不能创建
* @param user
* 待创建的用户
* @return
* 如果创建成功,则返回true,否则返回false
*/
public boolean create(UserModel user);
/**
* 删除一个用户,如果该用户不存在,则删除失败
* @param uuid
* 待删除用户的uuid
* @return
* 如果删除成功则返回true,否则返回false
*/
public boolean delete(String uuid);
/**
* 更新用户信息,如果用户不存在,则不能更新
* @param user
* 待更新信息的用户
* @return
* 如果更新成功返回true,否则返回false
*/
public boolean update(UserModel user);
/**
* 查询一个用户的数据
* @param uuid
* 待查询信息的用户编号
* @return
* 如果用户存在,返回指定 uuid的用户对象,否则返回null
*/
public UserModel getSingle(String uuid);
/**
* 根据查询值对象约束的条件,返回所有满足user的用户对象集合
* @param user
* 查询值对象
* @return
* 如果有满足查询值对象约束的条件的用户,则返回用户对象集合,否则返回空集合
*/
public List<UserModel> getByCondition(UserQueryModel user);
/**
* 获取文件中所有用户对象
* @return
* 返回文件中所有用户对象
*/
public List<UserModel> getAll();
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
package 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;
public class UserDAOFileImpl implements UserDAo {
private final static String FILE_NAME= "a.txt" ;
@Override
public boolean create(UserModel user) {
if (user== null ){ //如果待注册的用户信息为null,则不能注册,返回false
return false ;
}
List<UserModel> list=getAll(); //获取文件中已存在的所有用户对象
for (UserModel u:list){ //遍历
if (u.getUuid().equals(user.getUuid())){ //如果此用户已存在,则不能注册
return false ;
}
}
//经过上面的遍历,说明user不存在,则可以注册
list.add(user);
return FileIOUtil.writeToFile(list, FILE_NAME);
}
@Override
public boolean delete(String uuid) {
List<UserModel> list=getAll();
for ( int i= 0 ;i<list.size();i++){ //遍历
UserModel u=list.get(i);
if (u.getUuid().equals(uuid)){
list.remove(i); //删除
return FileIOUtil.writeToFile(list, FILE_NAME);
}
}
return false ;
}
@Override
public boolean update(UserModel user) {
List<UserModel> 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); //重置编号为user.getUuid()的用户
return FileIOUtil.writeToFile(list, FILE_NAME);
}
}
return false ;
}
@Override
public UserModel getSingle(String uuid) {
List<UserModel> list=getAll();
for (UserModel u:list){
if (u.getUuid().equals(uuid)){
return u;
}
}
return null ;
}
@Override
public List<UserModel> getByCondition(UserQueryModel user) {
List<UserModel> list=getAll();
List<UserModel> reslist= new ArrayList<UserModel>();
for (UserModel u:list){
if (user.getUuid()!= null && user.getUuid().trim().length()> 0 ){
if (!user.getUuid().trim().equals(u.getUuid())){
continue ;
}
}
if (user.getName()!= null && user.getName().trim().length()> 0 ){
if (u.getName().indexOf(user.getName())==- 1 ){
continue ;
}
}
if (user.getType()> 0 ){
if (u.getType()!=user.getType()){
continue ;
}
}
reslist.add(u);
}
return reslist;
}
@Override
public List<UserModel> getAll() {
return FileIOUtil.readFromFile(FILE_NAME);
}
}
|
1
2
3
4
5
6
7
8
9
10
11
|
package cn.hncu.bookStore.user.dao.factory;
import cn.hncu.bookStore.user.dao.dao.UserDAo;
import cn.hncu.bookStore.user.dao.impl.UserDAOFileImpl;
public class UserDAOFactory {
private UserDAOFactory(){
}
public static UserDAo getUserDAo(){
return new UserDAOFileImpl();
}
}
|
业务逻辑层:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
package cn.hncu.bookStore.user.business.ebi;
import java.util.List;
import cn.hncu.bookStore.user.vo.UserModel;
import cn.hncu.bookStore.user.vo.UserQueryModel;
public interface UserEbi {
public boolean create(UserModel user);
public boolean delete(String uuid);
public boolean update(UserModel user);
public UserModel getSingle(String uuid);
public List<UserModel> getByCondition(UserQueryModel user);
public List<UserModel> getAll();
public abstract List<UserModel> getAllIn();
public List<UserModel> getAllOut();
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
package 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;
import 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.dao.factory.UserDAOFactory;
import cn.hncu.bookStore.user.vo.UserModel;
import cn.hncu.bookStore.user.vo.UserQueryModel;
public class UserEbo implements UserEbi {
//注入
UserDAo dao = UserDAOFactory.getUserDAo();
@Override
public boolean create(UserModel user) {
String uuid=uuidDAOFactory.getUuidDAO().getNextNum(uuidModelConstance.User);
user.setUuid(uuid);
return dao.create(user);
}
@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
public List<UserModel> getByCondition(UserQueryModel user) {
return dao.getByCondition(user);
}
@Override
public List<UserModel> getAll() {
return dao.getAll();
}
@Override
public List<UserModel> getAllIn() {
UserQueryModel user= new UserQueryModel();
user.setType(UserTypeEnum.IN.getType());
return dao.getByCondition(user);
}
public List<UserModel> getAllOut() {
UserQueryModel user= new UserQueryModel();
user.setType(UserTypeEnum.OUT.getType());
return dao.getByCondition(user);
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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();
}
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。