视图层
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);
//登录操作
public void loginview() {
System.out.println("---------欢迎进入库存管理系统---------");
System.out.println("---------------1.登录----------------");
System.out.println("---------------2.退出----------------");
System.out.print("请输入要进行的操作:");
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) {
//登录成功进入首页
indexView(user);
}else {
System.out.println("登录失败");
loginview();
}
}else {
//用户退出
System.out.println("退出成功");
}
}
//操作目录
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("请输入要进行的操作:");
Scanner sc =new Scanner(System.in);
String result = sc.next();
if(result.equals("3.1")) {
userView(user);
}
}
//3基础信息管理
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("请输入要进行的操作:");
Scanner sc =new Scanner(System.in);
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 userno=sc.next();
System.out.println("请输入想要修改密码的值:");
String pwd=sc.next();
User u=new User();
u.setId(id);
u.setUserno(userno);
u.setPwd(pwd);
Boolean flag=userservice.changeUser(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.deleteUser(u);
if(flag) {
System.out.println("删除成功!");
}else {
System.out.println("删除失败!");
}
userView(user);
}else {
//返回上一级
indexView(user);
}
}
public static void main(String[] args) {
Menu m = new Menu();
m.loginview();
}
}
调用服务层
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();
public User login(String userno,String pwd) {
return userdao.login(userno,pwd);
}
/**
* 查询用户列表
* @return 用户集合
*/
public List<User> findUserList() {
return userdao.findUserList();
}
/**
* 添加用户
* @param u 用户对象
* @return true添加成功,false添加失败
*/
public Boolean addUser(User u) {
return userdao.addUser(u);
}
/**
* 修改用户
* @param u 用户对象
* @return true修改成功,false修改失败
*/
public Boolean changeUser(User u) {
return userdao.changeUser(u);
}
/**
* 删除用户
* @param u 用户对象
* @return true修改成功,false修改失败
*/
public Boolean deleteUser(User u) {
return userdao.deleteUser(u);
}
}
Dao层
Basedao//JDBC
package com.hyg.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
//访问数据库基类
public class Basedao {
//数据库驱动
private String driver="com.mysql.jdbc.Driver";
//地址(ip、端口、数据库名称)
private String url="jdbc:mysql://localhost:3306/orcl?useUnicode=true&characterEncoding=UTF-8";
//数据库连接账号
private String name="root";
//数据库连接密码
private String pass="root";
//获得连接
public Connection conn;
public PreparedStatement ps;
public ResultSet rs;
public Connection getconn() {
try {
Class.forName(driver);
conn=DriverManager.getConnection(url, name, pass);
return conn;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//关闭连接,释放rs,ps,conn对象资源
public void closeAll() {
try {
if(rs!=null) {
rs.close();//关闭资源
rs=null;
}
if(ps!=null) {
ps.close();//关闭对象
ps=null;
}
if(conn!=null) {
conn.close();//关闭对象
conn=null;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// public static void main(String[] args) {
// new Basedao().getconn();
// }
}
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 {
//获得数据库连接
this.conn=this.getconn();
//获得连接对象
this.ps=conn.prepareStatement(sql);
//执行命令,获得结果
this.rs=ps.executeQuery();
//处理结果
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 (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";
List<User> list = new ArrayList<User>();
try {
// 1.获得数据库连接
this.conn = this.getconn();
// 2.获得命令执行对象
this.ps = conn.prepareStatement(sql);
// 3. 执行命令、查询命令
this.rs = ps.executeQuery();
// 4.处理结果
while (rs.next()) {// 从第0条开始找如果有下一条数据
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 (Exception e) {
e.printStackTrace();
}finally {
this.closeAll();
}
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 (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
this.closeAll();
}
return false;//插入失败
}
/**
* 修改用户
* @param u 用户对象
* @return true修改成功,false修改失败
*/
public Boolean updateUser(User u) {
String sql="update k_user set userno='"+u.getUserno()+"',pwd='"+u.getPwd()+"' where id='"+u.getId()+"'";
try {
//获得数据库连接
this.conn=this.getconn();
//获得连接对象
this.ps=conn.prepareStatement(sql);
//执行命令,获得结果
int result=ps.executeUpdate();//返回受影响行数
//处理结果
if(result>0){//判断第一条是否有数据,
//执行插入成功
return true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
this.closeAll();
}
return false;//插入失败
}
/**
* 删除用户
* @param u 用户对象
* @return true修改成功,false修改失败
*/
public Boolean deleteUser(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 (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
this.closeAll();
}
return false;//插入失败
}
}
Model层
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;//年龄
private String deptName;//部门名称
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = 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;
}
}
程序展示
查看信息
添加信息
修改信息
删除信息