2020.07.31(javase)

Day 10:

分层开发

数据访问层(User实体类):

package com.hyg.model;

/*
** 用户实体类
 */
public class User {
	private int id;
	private String username;
	private String userno;
	private String pwd;
	private String position;
	private int age;

private String deptName;	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getUserno() {
		return userno;
	}
	public void setUserno(String userno) {
		this.userno = userno;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	public String getPosition() {
		return position;
	}
	public void setPosition(String position) {
		this.position = position;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getDeptName() {
		return deptName;
	}
	public void setDeptName(String deptName) {
		this.deptName = deptName;
	 }	
}

(UserDao类):

package com.hyg.dao;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.hyg.model.User;

public class UserDao extends BaseDao{
	public User login(String userno, String pwd) {
		String sql="select * from k_user where userno='"+userno+"' and pwd='"+pwd+"'";
		try {
			//1.获得数据库连接
			this.conn=this.getConn();
			//2.获得命令执行对象
			this.ps=conn.prepareStatement(sql);
			//3.执行命令查询
			this.rs=ps.executeQuery();
			//4.处理结果
			if(rs.next()){//如果有下一条数据
			String username=rs.getString("username");//username指的是标的的列名
			String position=rs.getString("position");//职位
			int age=rs.getInt("age");//年龄
			int id=rs.getInt("id");//用户id
				User user=new User();
			user.setId(id);
			user.setUsername(username);
			user.setUserno(userno);
			user.setPwd(pwd);
			user.setPosition(position);
			user.setAge(age);
return user;		
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			this.closeALL();
		}
		return null;
	}
	/**
	 * 查询用户列表
	 * @return 用户集合
	 */
	public List<User> findUserList() {
		String sql="select u.*,d.deptname from k_user u,k_dept d where d.deptno=u.deptno";
		try {
			//1.获得数据库连接
			this.conn=this.getConn();
			//2.获得命令执行对象
			this.ps=conn.prepareStatement(sql);
			//3.执行命令查询
			this.rs=ps.executeQuery();
			//4.处理结果
		List<User> list=new ArrayList<User>();	
		while(rs.next()){//如果有下一条数据
			String username=rs.getString("username");//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");
			String deptName=rs.getString("deptName");
					
User user=new User();
			user.setId(id);
			user.setUsername(username);
			user.setUserno(userno);
			user.setPwd(pwd);
			user.setPosition(position);
			user.setAge(age);
			user.setDeptName(deptName);
				list.add(user);
		    }
		    return list;
		    } catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			this.closeALL();
		}
		return null;
	}
		/**
	 * 添加用户
	 * @param u 用户对象
	 * @return ture添加成功,false添加失败
	 */
	public Boolean addUser(User u) {
String sql="insert into k_user(userno,pwd)values('"+u.getUserno()+"','"+u.getPwd()+"')";
	try {
			//1.获得数据库连接
			this.conn=this.getConn();
			//2.获得命令执行对象
			this.ps=conn.prepareStatement(sql);
			//3.执行命令更新
			int result=ps.executeUpdate();
            if(result>0){
            	//执行成功
            	return true;
            }
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			this.closeALL();
		}
		return false;
	}
	
/**
*修改用户
 *@param u
 *@return
 */

 public Boolean updateUser(User u) {
//String sql="update k_user set pwd='"+u.getPwd()+"',position='"+u.getPosition()+"'where id="+u.getId();
		String sql="update k_user set pwd=?,position=? where id=?";
		try {
			//1.获得数据库连接
			this.conn=this.getConn();
			//2.获得命令执行对象
			this.ps=conn.prepareStatement(sql);
			ps.setString(1, u.getPwd());
			ps.setString(2, u.getPosition());
			ps.setInt(3, u.getId());
			//3.执行命令更新
			int result=ps.executeUpdate();
            if(result>0){
            	//执行成功
            	return true;
            }
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			this.closeALL();
		}
		return false;
	}
	/**
	 * 修改用户
	 * @param u
	 * @return
	 */
		public Boolean deleteUser(int id) {
String sql="delete from k_user where id="+id;
			try {
				//1.获得数据库连接
				this.conn=this.getConn();
				//2.获得命令执行对象
				this.ps=conn.prepareStatement(sql);
				//3.执行命令更新
				int result=ps.executeUpdate();
	            if(result>0){
	            	//执行成功
	            	return true;
	            }
			} catch (Exception e) {
				e.printStackTrace();
			}finally{
				this.closeALL();
			}
			return false;
		}
}

业务逻辑层(UserService类):

package com.hyg.service;

import java.util.List;
import com.hyg.dao.UserDao;
import com.hyg.model.User;
public class UserService {
UserDao userDao =new UserDao();
	/**
      * 用户登录
      * @param userno 账号
      * @param pwd 密码
      * @return true:成功,false:失败
      */
      
public User login(String userno, String pwd) {
return userDao.login(userno,pwd);
	}
	/**
	 * 查询用户列表
	 * @return 用户集合
	 */
	public List<User> findUserList() {
		return userDao.findUserList();
	}
	/**
	 * 添加用户
	 * @param u 用户对象
	 * @return ture添加成功,false添加失败
	 */
	public Boolean addUser(User u) {
		return userDao.addUser(u);
	}
	/**
	 * 修改用户
	 * @param u 用户对象
	 * @return ture添加成功,false添加失败
	 */
	public Boolean updateUser(User u) {
		return userDao.updateUser(u);
	}
	/**
	 * 删除
	 * @param id
	 */
	public Boolean deleteUser(int id) {
		return userDao.deleteUser(id);
		}
}

用户视图层(用户操作类):

package com.hyg.view;

import java.util.List;
import java.util.Scanner;
import com.hyg.model.User;
import com.hyg.service.UserService;

public class Menu {
    Scanner sc = new Scanner(System.in);
    UserService userService=new UserService();
	public void loginView(){
		System.out.println("--欢迎进入库存管理系统--");
		System.out.println("------1.登录------");
		System.out.println("------2.退出------");
		System.out.println("请输入要进行的操作");
		int result=sc.nextInt();
		if(result==1){
			//登录
			System.out.println("请输入账号");
			String userno=sc.next();
			System.out.println("请输入密码");
			String pwd=sc.next();
			//调用业务层的登录方法
			User user=userService.login(userno,pwd);
			if(user!=null){
				//登录成功
				System.out.println("登录成功!");
				indexView(user);
			}else{
				//登录失败
				System.out.println("登录失败,账号或密码错误!");
				loginView();
			}
			
}else{
			
//退出
			System.out.println("您已退出系统");
		}
		
}
	/**
	 * 首页
	 * @param user 当前登录的用户数
	 */
	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(result.equals("3.1")){
	    	userView(user);
	    }else if(result.equals("3.2")){
	    	
   }
	}
	public void userView(User user){
		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年龄");
	   		for(int i=0;i<list.size();i++){
	   			User u=list.get(i);
	System.out.println(u.getId()+"\t"+u.getUsername()+"\t"+u.getUsername()+"\t"+u.getPwd()+"\t"+u.getPosition()+"\t"+u.getAge());
	  }
	   	
}else if(result==2){
	   		//添加用户信息
	   		System.out.println("请输入账号");
	   		String userno=sc.next();
	   		System.out.println("请输入密码");
	   		String pwd=sc.next();
	   		
User u=new User();
	   		u.setUserno(userno);
	   		u.setPwd(pwd);
	   		
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 pwd=sc.next();
	   		System.out.println("请输入职位");
	   		String position=sc.next();
	   		
User u=new User();
	   		u.setId(id);
	   		u.setPwd(pwd);
	   		u.setPosition(position);
	   		Boolean flag=userService.updateUser(u);
	   		if(flag){
	   			//修改成功
	   			System.out.println("修改成功!");
	   		}else{
	   			//修改失败
	   			System.out.println("修改失败!");
	   		}
	   		userView(user);//调用当前方法继续进行
	   	}else if(result==4){
	   		//删除用户信息
	   		System.out.println("请输入要删除的用户id");
	   		int id=sc.nextInt();
	Boolean flag=userService.deleteUser(id);
	   		if(flag){
	   			//删除成功
	   			System.out.println("删除成功!");	
	   	}else{
	   		//删除失败
	   			System.out.println("删除失败!");
	    	}
	   		userView(user);//
	   	}else{
	   		//返回上一级
	   	}
	 }ublic static void main(String[] args){
		Menu m=new Menu();
		m.loginView();
	}
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值