用Java和mysql实现一个库存系统管理(增加修改删除操作)

用Java和mysql实现一个库存管理系统

包和类的关系图

建立的包和类的关系如上。其中com.hyg.view是用户层,com.hyg.service是业务层,com.hyg.dao是和数据库的链接层,com.hyg.model用于建立数据类型。
Menu.java的代码为

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 {
	UserService userService=new UserService();
	Scanner sc=new Scanner(System.in);
	int result=sc.nextInt();
	public void loginView(){
			System.out.println("-----------");
			System.out.println("--1.登录---");
			System.out.println("--2.退出---");
			System.out.println("请输入要进行的操作:");
			
			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("您已退出程序");
			}
					
	}
	private 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 rescult=sc.next();
	    if(rescult.equals("3.1")){
	    	//进入用户管理
	    	userView(user);
	    }else if(rescult.equals("3.2")){
	    	//进入部门管理
	    	
	    }
	}
	/**
	 * 用户管理
	 * @param user 当前登录的用户对象
	 */
	private 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职位"+"\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 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();  
	    	User u=new User();
	    	u.setId(id);
	    	
	    	Boolean flag=userService.delUser(u);
	    	if(flag){
		    	   //删除成功
		    	   System.out.println("删除成功");
		       }else{
		    	   //删除失败
		    	   System.out.println("删除失败");
		       }
		       userView(user);
	    }else{
		//返回上一级
		}
	}
	public static void main(String[] args) {
		Menu m=new Menu();
		m.loginView();
	}

}

UserService.java的代码为

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 登录失败
	 * user用户对象 存储用户数据
	 */
	public User login(String userno, String pwd) {
		
		return userDao.login(userno,pwd);
	}
	public List<User> findUserList() {
		// 查询用户列表,返回用户集合
		return userDao.findUserList();
	}
	/**
	 * 添加用户
	 * @param u 用户对象
	 * @return true添加成功 false 添加失败
	 */
	public Boolean addUser(User u){
		return userDao.addUser(u);
		
	}
	/**
	 * 修改用户职位
	 * @param 
	 * @return
	 */
	public Boolean updateUser(User u){
		return userDao.updateUser(u);
	}
	/**
	 * 删除用户信息
	 */
	public Boolean delUser(User u){
		return userDao.delUser(u);
	} 


}


UserDao.java的代码为

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 {
	
	/**
	 * 
	 * @param userno 账号
	 * @param pwd 密码
	 * @return true 登录成功 false 登录失败
	 */

	public User login(String userno, String pwd) {
		String sql="select * from k_user where userno='"+userno+"'and pwd='"+pwd+"'";
		try {
			this.conn=this.getConn();
			//获得数据库链接
			this.ps=conn.prepareStatement(sql);
			//获得命令执行对象
			this.rs=ps.executeQuery();
			//执行命令,查询命令
			if(rs.next()){
				String username=rs.getString("username");
				String position=rs.getString("position");
				int age=rs.getInt("age");
				int id=rs.getInt("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 (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
	public List<User> findUserList() {
		// 查询用户列表,返回用户集合

		String sql="select * from k_user";
		try {
			this.conn=this.getConn();
			//获得数据库链接
			this.ps=conn.prepareStatement(sql);
			//获得命令执行对象
			this.rs=ps.executeQuery();
			//执行命令,查询命令
			List<User> list=new ArrayList<User>();
			while(rs.next()){
				String username=rs.getString("username");
				String position=rs.getString("position");
				int age=rs.getInt("age");
				int id=rs.getInt("id");
				String userno=rs.getString("userno");
				String pwd=rs.getString("pwd");
				
				User user=new User();
				user.setId(id);
				user.setUsername(username);
				user.setUserno(userno);
				user.setPwd(pwd);
				user.setPosition(position);
				user.setAge(age);
				
				list.add(user);	
			}
			return list;
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
	/**
	 * 添加用户
	 * @param u 用户对象
	 * @return true添加成功 false 添加失败
	 */
	public Boolean addUser(User u){

		String sql="insert into k_user(userno,pwd) values('"+u.getUserno()+"','"+u.getPwd()+"')";
		try {
			this.conn=this.getConn();
			//获得数据库链接
			this.ps=conn.prepareStatement(sql);
			//获得命令执行对象
			int result=ps.executeUpdate();//返回受影响的行数
			if(result>0){
				//执行成功
				return true;
			}
			//执行更新命令(添加、修改、删除)
			} catch (Exception e) {
			e.printStackTrace();
		}
		return false;
	}
	/**
	 * 修改员工职位
	 * @param 
	 * @return true 修改成功  false 修改失败
	 */
	public Boolean updateUser(User u){
		String sql="UPDATE k_user set POSITION='"+u.getPosition()+"'WHERE id="+u.getId()+" and pwd='"+u.getPwd()+"'";
		try { 
			this.conn=this.getConn();
			//获得数据库链接
			this.ps=conn.prepareStatement(sql);
			//获得命令执行对象
			int result=ps.executeUpdate();//返回受影响的行数
			if(result>0){
				//执行成功
				return true;
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return false;
	}
	public Boolean delUser(User u){
		String sql="DELETE from k_user where id=" + u.getId()+" ";
		try { 
			this.conn=this.getConn();
			//获得数据库链接
			this.ps=conn.prepareStatement(sql);
			//获得命令执行对象
			int result=ps.executeUpdate();//返回受影响的行数
			if(result>0){
				//执行成功
				return true;
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return false;
	} 
	
	

}

BaseDao.java的代码为

package com.hyg.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

/**
 * 
 * 数据库访问基类
 *
 */
public class BaseDao {
//数据库驱动
	private String driver="com.mysql.jdbc.Driver";
	//数据库地址
	private String url="jdbc:mysql://localhost:3306/orcl?useUnicode=true&characterEncoding=UTF-8";
	//数据库连接的账号
	private String name="root";
	//数据库连接的密码
	private String pass="root";
	
	
	Connection conn;//数据库链接
	PreparedStatement ps;//执行命令SQL
	ResultSet rs;//存储执行结果
	
	/**
	 * 获得数据库链接的对象
	 * @return 数据链接对象
	 */
	
	public Connection getConn(){
		try {
			Class.forName(driver);
			Connection conn=DriverManager.getConnection(url,name,pass);
			return conn;
		} catch (Exception e) {
			//写入日志文件
			//向控制台打印异常
			e.printStackTrace();
		}
		return null;
	}
	public static void main(String[] args) {
		new BaseDao().getConn();
	}
	
}

User.java的代码为

package com.hyg.model;
/**
 * 
 * 用户实体类(数据的载体,承载数据用)
 *
 */
public class User {

	private int id;//id
	private String username;//姓名
	private String userno;//账号
	private String pwd;//密码
	private String position;//职位
	private int age;//年龄
	
	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;
	}
	
}


版权声明:本文为wfr661原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。