JavaSE库存管理---代码
- 一、Menu .java
- 二、UserService.java
- 三、UserDao .java
- 四、BaseDao.java
- 五、User .java
一、Menu .java
package com.lj.view;
import java.util.List;
import java.util.Scanner;
import com.lj.model.User;
import com.lj.service.UserService;
public class Menu {
UserService userService=new UserService();
Scanner sc=new Scanner(System.in);//类的成员变量
/*
* 登录界面
*/
public void loginMenu() {
System.out.println("------欢迎来到库存管理系统--------");
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("登录失败,账号或密码错误!");
loginMenu();
}
} else {
//退出
System.out.println("退出成功!");
}
}
/*
* 首页界面
*/
public void indexView(User user) {
// TODO Auto-generated method stub
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")) {
//进入部门管理
}
}
/**
* 用户管理
* @param user
*/
private void userView(User user) {
// TODO Auto-generated method stub
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("用户信息如下:");
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.getUserno()+"\t"+u.getPwd()+"\t"+u.getPosition()+"\t"+u.getAge()+"\t");
}
userView(user);//再次调用当前方法,返回用户管理界面
}else if (result==2) {
//添加用户
System.out.println("请输入需要添加的用户信息:");
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("添加成功!");
userView(user);
} else {
System.out.println("添加失败!");
userView(user);
}
}else if (result==3) {
//修改用户
System.out.println("请输入需要修改的用户信息:");
System.out.print("请输入要修改的用户ID:");
int id=sc.nextInt();
System.out.print("请输入密码:");
String pwd=sc.next();
System.out.print("请输入职位:");
String position=sc.next();
User u=new User();
u.setId(id);
u.setPosition(position);
u.setPwd(pwd);
Boolean flag=userService.updateUser(u);
if (flag) {
System.out.println("修改成功!");
userView(user);
} else {
System.out.println("修改失败!");
userView(user);
}
}else if (result==4) {
//删除用户
System.out.println("请输入需要删除的用户信息:");
System.out.print("请输入删除的ID:");
int id=sc.nextInt();
User u=new User();
u.setId(id);
Boolean resul=userService.deleUser(u);//添加成功返回布尔值 true or false
//Boolean resul=userService.deleUser(id1);
if(resul) {
System.out.println("删除成功!");
userView(user);
}else {
System.out.println("删除失败!");
userView(user);
}
}else {
//返回上一级
indexView(user);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Menu menu=new Menu();
menu.loginMenu();
}
}
二、UserService.java
package com.lj.service;
import java.util.List;
import com.lj.dao.UserDao;
import com.lj.model.User;
public class UserService {
UserDao userDao=new UserDao();
/**
*用户登录
*userno 账号
*pwd 密码
*User 用户对象,储存用户数据
* **/
public User login(String userno, String pwd) {
// 处理业务逻辑,密码加密
return userDao.login(userno,pwd);
}
/*
* 查询用户列表
*/
public List<User> findUserList() {
// TODO Auto-generated method stub
return userDao.findUserList();
}
/**
*
* @param u 用户对象
* @return true 添加成功,false 添加失败
*/
public Boolean addUser(User u) {
// TODO Auto-generated method stub
return userDao.addUser(u);
}
public Boolean deleUser(User u) {
// TODO Auto-generated method stub
return userDao.deleUser(u);
}
public Boolean updateUser(User u) {
// TODO Auto-generated method stub
return userDao.updateUser(u);
}
}
三、UserDao .java
package com.lj.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.lj.model.User;
import com.sun.org.apache.regexp.internal.recompile;
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.setAge(age);
user.setPosition(position);
user.setPwd(pwd);
user.setUsername(username);
user.setUserno(userno);
return user;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
/*
* 查询用户列表
*/
public List<User> findUserList() {
String sql="select * from k_user ";
try {
//1、获取数据库连接
this.conn=this.getConn();
//2、获得命令执行对象
this.ps=conn.prepareStatement(sql);
//3、执行命令,查询命令
this.rs=ps.executeQuery();
List<User> list=new ArrayList<>();
//4、处理结果
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");
User user=new User();
user.setId(id);
user.setAge(age);
user.setPosition(position);
user.setPwd(pwd);
user.setUsername(username);
user.setUserno(userno);
list.add(user);
}
return list;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
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();
//4、处理结果
if (result>0) {
//执行成功
return true;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public Boolean deleUser(User u) {
String sql="delete from k_user where id="+u.getId();
try {
//1、获取数据库连接
this.conn=this.getConn();
//2、获得命令执行对象
this.ps=conn.prepareStatement(sql);//返回受影响的行数
//3、执行命令,更新命令(添加修改删除)
int result=ps.executeUpdate();
//4、处理结果
if (result>0) {
//执行成功
return true;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
public Boolean updateUser(User u) {
String sql="update k_user set pwd='"+u.getPwd()+"',position='"+u.getPosition()+"' where id="+u.getId();
try {
//1、获取数据库连接
this.conn=this.getConn();
//2、获得命令执行对象
this.ps=conn.prepareStatement(sql);//返回受影响的行数
//3、执行命令,更新命令(添加修改删除)
int result=ps.executeUpdate();
//4、处理结果
if (result>0) {
//执行成功
return true;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
}
四、BaseDao.java
package com.lj.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";
//地址(IP、端口、数据库名称)
// String url="jdbc:mysql://localhost:3306/orcl";
private String url = "jdbc:mysql://localhost:3306/orcl?useUnicode=true&characterEncoding=UTF-8";
//数据库连接账号
private String username="root";
//数据库连接密码
private String password="root";
Connection conn;//数据库连接类
PreparedStatement ps;//执行命令(SQL)类
ResultSet rs;//存储执行结果
/**
* 获取数据连接
*/
public Connection getConn(){
try {
//加载驱动
Class.forName(driver);
//2.获取链数据库连接信息
Connection conn=(Connection) DriverManager.getConnection(url,username,password);
return conn;
} catch (Exception e) {
//写进日志文件
//向控制台打印异常
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
new BaseDao().getConn();;
}
}
五、User .java
package com.lj.model;
/*
* 用户实体类
* */
public class User {
private int id;//ID
private String username;//姓名
private String userno;//账号
private String pwd;//密码
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;
}
private String position;//职位
private int age;//年龄
}