您的位置:首页 > 大数据

一个小白的大数据实训过程JavaSEday05

2020-08-01 22:12 696 查看

昨天偷懒晚上没敲代码,今天把老师留下的作业:剩下的部分敲完,把完整的代码放上来,以下是一个简单的用户登录查询。功能没写完,因为只是为了熟悉继承,函数和方法的调用,JDBC等,所以写的很简单。

(1)Menu类 视图层

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) { //括号里直接写re也可以
//登录成功
System.out.println("进入首页!");
indexView(user);
}else {
//登录失败,重新调用登录界面
loginView();
}

}else {
//退出
System.out.println("您已退出系统!");
}
}

/*首页
* 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") ){
//这儿没写!!!3.3 3.4 3.5 都没写!!!
}
}

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.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 flagtwo = userService.updateUser(u);
if(flagtwo) {
//修改成功
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 flagthree = userService.deleteUser(u);
if(flagthree) {
//删除成功
System.out.println("删除成功!");
}else {
//删除失败
System.out.println("删除失败!");
}
userView(user); //调用当前方法继续进行

}else {
indexView(user);
}
}

public static void main(String[] args) {
Menu m =new Menu();
m.loginView();
}

}

(2)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();
/*
* 用户登录
* userno 用户名
* pwd 密码
* return true 登录成功  return false 登录失败
*/
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);
}

public Boolean updateUser(User u) {
// TODO Auto-generated method stub
return userDao.updateUser(u);
}

public Boolean deleteUser(User u) {
// TODO Auto-generated method stub
return userDao.deleteUser(u);
}

}

(3)User

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) {
//pwd 逻辑代码
this.pwd = pwd;
}
public String getPosition() {
//position中间四位隐藏,用****代替
return position;
}
public void setPosition(String position) {
this.position = position;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}

(4)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{

/*
* 用户登录
* userno 用户名
* pwd 密码
* return User用户对象,存储用户数据
*/
public User login(String userno, String pwd) {
String sql="select * from k_user where userno='"+userno+"'and pwd = '"+pwd+"'";
//注意变量跟字符串的拼接
//String sql="select * from k_user where userno=? and 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 (Exception e) {
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();  //涉及到数据库“查询”的全用这个
//4、处理结果
List<User> list = new ArrayList<User>();
while(rs.next()) {//如果有下一条数据
String username = rs.getString("username");  //username表的列名,不区分大小写
String position = rs.getString("position");  //职位
String userno = rs.getString("userno");
String pwd = rs.getString("pwd");
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);

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 {

//1、获得数据库连接
this.conn = this.getConn();
//2、获得命令执行对象
this.ps = conn.prepareStatement(sql);
//3、执行命令
int result = ps.executeUpdate();  //涉及到数据库“更新(添加,修改,删除)”的全用这个
//返回受影响的行数
if(result >0 ){ //result == 1 也可以
//执行成功
return true;
}
} catch (Exception e) {
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();  //涉及到数据库“更新(添加,修改,删除)”的全用这个
//返回受影响的行数
if(result >0 ){ //result == 1 也可以
//执行成功
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}

public Boolean deleteUser(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();  //涉及到数据库“更新(添加,修改,删除)”的全用这个
//返回受影响的行数
if(result >0 ){ //result == 1 也可以
//执行成功
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}

}

(5)BaseDao

package com.hyg.dao;

//import java.sql.*;    只写这个也可以,不用剩下这几个都写了
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、端口、数据库名称)
private String url="jdbc:mysql://localhost:3306/orcl?useUnicode=true&charcterEncoding=UTF-8"; //这里的localhost可能改成mysql
//数据库连接账号
private String name = "root";
//数据库连接密码
private String pass = "123456";

Connection conn;  //数据库连接类
PreparedStatement ps;  //执行命令(SQL)类
ResultSet rs;   //存储执行结果
/*
* 获得数据库连接
* @return 数据库连接对象
*/

public Connection getConn(){
try {
Class.forName(driver);
Connection conn=DriverManager.getConnection(url, name, pass);
return conn;
/*
* 上面两行可以合并成一行
*return DriverManager.getConnection(url, name, pass);
*/

} catch (Exception e) {
//写入日志文件
//向控制台打印异常
e.printStackTrace();
}
return null;
}

public static void main(String[] args) {
new BaseDao().getConn();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐