模拟学生管理系统,代码分为三个层面,其中业务包括,注册,登录,删除,修改
UserContralor 控制层
/**
* 登录
*/
public void login(){
System.out.println("请输入用户名:");
Scanner sc = new Scanner(System.in);
String username = sc.next();
System.out.println("请输入密码:");
String passwd = sc.next();
String login = new UserService().login(username, passwd);
System.out.println( login);
}
/**
* 注册
*/
public void register(){
System.out.println("请输入用户名:");
Scanner sc = new Scanner(System.in);
String username = sc.next();
System.out.println("请输入密码:");
String passwd = sc.next();
System.out.println("请确认密码:");
String nowPasswd = sc.next();
String regist = new UserService().regist(username, passwd, nowPasswd);
System.out.println(regist);
}
/**
* 修改
*/
public void updatePasswd(){
System.out.println("请输入用户名:");
Scanner sc = new Scanner(System.in);
String username = sc.next();
System.out.println("请输入密码:");
String passwd = sc.next();
System.out.println("请输入新密码:");
String newPasswd = sc.next();
System.out.println("请再次输入密码:");
String nowPasswd = sc.next();
String update = new UserService().update(username, passwd, newPasswd, nowPasswd);
System.out.println(update);
}
/**
* 删除
*/
public void deleteUser(){
System.out.println("请输入用户名:");
Scanner sc = new Scanner(System.in);
String username = sc.next();
System.out.println("请输入密码:");
String passwd = sc.next();
String delete = new UserService().delete(username, passwd);
System.out.println(delete);
}
UserService业务逻辑层
private static MysqlDao md=new MysqlDao();
/**
* 登录
* @param username 用户名
* @param passwd 密码
* @return 登录状态
*/
public String login(String username,String passwd){
User user = md.queryUserbyUsername(username);
if (user==null){
return "用户不存在";
}
if (!user.getPasswd().equals(passwd)){
return "密码不正确";
}
return "登录成功";
}
/**
* 注册
* @param usernaem 用户名
* @param passwd 密码
* @param nowPasswd 确认密码
* @return 注册状态
*/
public String regist(String usernaem,String passwd,String nowPasswd){
User user = md.queryUserbyUsername(usernaem);
if (user!=null){
return "用户已存在";
}
if (!user.getPasswd().equals(nowPasswd)){
return "密码不一致";
}
int regist = md.regist(usernaem, passwd);
if (regist==0){
return "注册失败";
}
return "注册成功";
}
/**
* 修改密码
* @param username 用户名
* @param passwd 密码
* @param newPasswd 新密码
* @param nowPasswd 确认密码
* @return 修改状态
*/
public String update(String username,String passwd,String newPasswd,String nowPasswd){
User user = md.queryUserbyUsername(username);
if (user==null){
return "用户不存在";
}
if (!user.getPasswd().equals(passwd)){
return "输入密码不正确";
}
Integer update = md.update(username, newPasswd);
if (update!=1){
return "修改失败";
}
return "修改成功";
}
/**
* 删除用户
* @param username 用户名
* @param passwd 密码
* @return 删除状态
*/
public String delete(String username,String passwd){
User user = md.queryUserbyUsername(username);
if (user==null){
return "用户不存在";
}
if (!user.getPasswd().equals(passwd)){
return "密码错误删除失败";
}
Integer integer = md.deleteUserByUsername(username);
if (integer==0){
return "删除失败";
}
return "删除成功";
}
UserDao层,数据库持久层
/**
* 通过用户名查找用户
* @param username 用户名
* @return 用户信息
*/
public User queryUserbyUsername(String username) {
User user = null;
Connection conn = JDBCUtil.getConn();
try {
PreparedStatement ps = conn.prepareStatement("select * from user where username=?");
ps.setString(1, username);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
Integer id = rs.getInt(1);
String username1 = rs.getString(2);
String passwd = rs.getString(3);
user = new User(id, username1, passwd);
}
} catch (Exception e) {
e.printStackTrace();
}
return user;
}
/**
*注册
* @param username 用户名
* @param passwd 密码
* @return 注册状态
*/
public int regist(String username,String passwd){
int flag=0;
Connection conn = JDBCUtil.getConn();
try {
PreparedStatement ps = conn.prepareStatement("insert into user (username,passwd) values (?,?)");
ps.setString(1,username);
ps.setString(2,passwd);
flag = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return flag;
}
/**
* 修改密码
* @param username 用户名
* @param newPasswd 密码
* @return 修改状态
*/
public Integer update(String username,String newPasswd){
int flag=0;
Connection conn = JDBCUtil.getConn();
try {
PreparedStatement ps = conn.prepareStatement("update user set passwd=? where username=?");
ps.setString(1,newPasswd);
ps.setString(2,username);
flag = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return flag;
}
/**
* 删除用户
* @param username 用户名
* @return 删除状态
*/
public Integer deleteUserByUsername(String username){
int flag=0;
Connection conn = JDBCUtil.getConn();
try {
PreparedStatement ps = conn.prepareStatement("delete from user where username=?");
ps.setString(1,username);
flag= ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return flag;
}
以及JDBCUtil工具
private static Connection conn=null;
static {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://node1:3306/shujia", "root", "123456");
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConn(){
return conn;
}