javase-day10-初识集合泛型、项目阶段一

List

  • List集合代表一个有序集合,集合中每个元素都有其对应的顺序索引。List集合允许使用重复元素,可以通过索引来访问指定位置的集合元素。
  • ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高。
  • LinkedList采用链表存储方式。插入、删除元素时效率比较高。
  • add():向集合中添加元素、remove():从集合中移除元素

泛型

优点:

  • 泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。
  • 类型安全
  • 消除强制类型转换
  • 潜在的性能优势
    使用:

List dogs = new ArrayList();//标记元素类型

库存管理项目

阶段一:

视图层: 编写首页、用户管理界面、用户信息的增删改查
业务层:处理登录功能、添加、删除、修改、查看用户等业务逻辑
Dao持久层(负责与数据库打交道):负责处理数据库中的数据,如增删改查、登录

代码部分:(部分代码)
视图层:

首页:
public void indexView(User user) {
	System.out.println("\t\t\t欢迎 [" + user.getUsername() + "]登录本系统!");
	System.out.println("\t\t\t--------1、基库存管理----------");
	System.out.println("\t\t\t-----------1.1 库存查询----------");
	System.out.println("\t\t\t-----------1.2 入库管理----------");
	System.out.println("\t\t\t-----------1.3 出库管理----------");
	System.out.println("\t\t\t--------2、报表管理----------");
	System.out.println("\t\t\t-----------2.1 库存月报----------");
	System.out.println("\t\t\t-----------2.2 物资台账----------");
	System.out.println("\t\t\t--------3、基础信息管理----------");
	System.out.println("\t\t\t-----------3.1 用户管理----------");
	System.out.println("\t\t\t-----------3.2 部门管理----------");
	System.out.println("\t\t\t-----------3.3 仓库管理----------");
	System.out.println("\t\t\t-----------3.4 供应商管理----------");
	System.out.println("\t\t\t-----------3.5 产品管理----------");
	System.out.println("\t\t\t--------4、退出系统----------");
	System.out.print("请输入要进行的操作:");
	String result = sc.next();
	if("3.1".equals(result)){
		System.out.println("你已进入用户管理页面");
		userView(user);
	}else if("3.2".equals(result)){
		System.out.println("您已进入部门管理界面");
	}
	......
}

选项3.1,用户管理界面:

	System.out.println("\t\t\t------------------欢迎到用户管理界面------------------");
    System.out.println("\t\t\t------------------1、查看用户信息------------------");
    System.out.println("\t\t\t------------------2、添加用户信息------------------");
    System.out.println("\t\t\t------------------3、修改用户信息------------------");
    System.out.println("\t\t\t------------------4、删除用户信息------------------");
    System.out.println("\t\t\t------------------5、返回上一级------------------");
    System.out.print("请输入要进行的操作:");

用户信息的增删改查操作:

int result = sc.nextInt();
	if(result==1){
		// 查看用户信息
		List<User> list = userService.findUserList();
		System.out.println("ID"+"\t姓名"+"\t账号"+"\t\t密码"+"\t职位"+"\t年龄");
		for(int i=0;i<list.size();i++){
			User u = list.get(i);
			System.out.println(u.getId()+"\t"+u.getUsername()+"\t"+u.getUserno()+"\t"+u.getPwd()+"\t"+u.getPosition()+"\t"+u.getAge());
		}
		userView(user); // 调用当前方法继续进行
	}else if(result==2){
		// 添加用户信息
		System.out.println("请输入要添加的用户姓名:");
		String username = sc.next();
		System.out.println("请输入账号:");
		String userno = sc.next();
		System.out.println("请输入密码:");
		String pwd = sc.next();
		System.out.println("请输入职位:");
		String position = sc.next();
		System.out.println("请输入年龄:");
		int age = sc.nextInt();
		
		User u = new User();
		u.setUsername(username);
		u.setUserno(userno);
		u.setPwd(pwd);
		u.setPosition(position);
		u.setAge(age);
		
		Boolean flag = userService.addUser(u);
		if(flag){
			// 添加成功
			System.out.println("添加成功!");
			
		}else{
			// 添加失败
			System.out.println("添加失败!");
		}
		userView(user); // 调用当前方法继续进行
		
	}else if(result==3){
		// 修改用户信息
		System.out.println("请输入要修改的用户ID:");
		int id = sc.nextInt();
		System.out.println("请输入要修改的用户姓名:");
		String username = sc.next();
		System.out.println("请输入要修改的用户账号:");
		String userno = sc.next();
		System.out.println("请输入要修改的密码:");
		String pwd = sc.next();
		System.out.println("请输入要修改的职位:");
		String position = sc.next();
		System.out.println("请输入要修改的用户年龄:");
		int age = sc.nextInt();
		
		User u = new User();
		u.setId(id);
		u.setUsername(username);
		u.setUserno(userno);
		u.setPwd(pwd);
		u.setPosition(position);
		u.setAge(age);
		Boolean a = userService.updateUser(u);
		if(a){
			System.out.println("修改成功!");
			
		}else{
			System.out.println("修改失败!");
		}
		userView(user); // 调用当前方法继续进行
	}else if(result==4){
		// 删除用户信息
		System.out.println("请输入要删除的用户ID:");
		int id = sc.nextInt();
		User u = new User();
		u.setId(id);
		
		Boolean b = userService.deleteUser(u);
		
		if(b){
			System.out.println("删除成功!");
		}else{
			System.out.println("删除失败,请重试!");
		}
		userView(user); // 调用当前方法继续进行
		
	}

视图层代码略

Dao层代码:(以查看用户信息为例)

public List<User> findUserList() {

		List<User> list = new ArrayList<User>();
	// 处理具体的业务逻辑
	String sql = "select * from k_user";
	try {
		// 1.获得数据库连接
		this.conn = this.getConn();
		// 2.获得命令执行对象
		this.ps = conn.prepareStatement(sql);
		// 3. 执行命令
		this.rs = ps.executeQuery();
		// 4. 处理结果
		while(rs.next()){
		
			String username = rs.getString("username"); // 获取表的列名
			String position = rs.getString("position"); // 职位
			int age = rs.getInt("age"); // 年龄
			int id = rs.getInt("id"); // 用户id
			String userno = rs.getString("userno");
			String pwd = rs.getString("pwd");
			
			User user = new User();
			user.setAge(age);
			user.setId(id);
			user.setPosition(position);
			user.setUsername(username);
			user.setPwd(pwd);
			// user.setPwd(pwd);
			user.setUserno(userno);
			list.add(user);
		}
		return list;
	} catch (Exception e) {
		e.printStackTrace();
	}
	return null;
}

其余功能代码略,方式相同
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值