package com.joop;
import java.awt.*;
import java.sql.*;
import java.util.*;
import java.util.List;
public class test {
public static void main(String[] args) throws Exception {
Scanner s = new Scanner(System.in);
aa: while (true) {
System.out.println("注册新用户--------A");
System.out.println("登陆---------L");
System.out.println("显示所有用户信息-----S");
System.out.println("修改数据--------U");
System.out.println("删除数据--------D");
System.out.println("退出系统--------E");
String str = s.nextLine();
if (str != null && str.trim().length() > 0) {// 只读取输入的字符
char c = str.charAt(0);
System.out.println(c);
UserBean user = null;
switch (c) {
case 'A':
case 'a':// 注册新用户
user = readInput(s);// 读取数据 调用下方注册新用户发法
// 下方调用方法中获取的用户信息user
createUser(user);// 保存用户输入的数据信息并在下方生成方法
break;
case 'L':// 登录系统
case 'l':
while (true) {
user = readLoginInput(s);// 读取数据
if (user != null) {
boolean bb = loginUser(user);// 判断若输入的数据不为空则调用下方的登陆方法
if (bb) {
System.out.println("登陆成功!");
break;
} else {
System.out.println("登陆失败!请重新登陆");
}
}
}
break;
case 'S':
case 's':
List<UserBean> ulist = showAllUser();// 调用显示方法
if (ulist != null && ulist.size() > 0) {// 判断数据不为空并且大于0
// 必须有一个数据
System.out.println("用户编号 用户名称 用户密码");
System.out.println("=================================");
for (UserBean temp : ulist) {// 遍历出所有符合上面条件规则的数据 并且输出
System.out.println(temp.getId() + " "
+ temp.getUsername() + " "
+ temp.getPassword());
}
System.out.println("==================================");
} else {
System.out.println("没有对应的用户数据");// 如果没有数据则输出这句话
}
break;
case 'U':
case 'u':
updateUser(s);// 调用下方修改方法
break;
case 'D':
case 'd':
deleteUser(s);// 调用下方删除方法
break;
default:
System.out.println("感谢使用本系统");
break aa;
}
}
}
}
private static void deleteUser(Scanner s) throws Exception {// 删除方法
System.out.println("请输入删除的用户编号");
long id = s.nextLong();
s.nextLine();
UserBean user = loadById(id);
if (user != null) {
Connection conn = null;
Statement stmt = null;
try {
conn = ConnectionManager.getConnnection();
String sql = "delete from t_2 where id=" + id;
stmt = conn.createStatement();
int len = stmt.executeUpdate(sql);
if (len > 0)
System.out.println("删除成功");
} finally {
ConnectionManager.closeConnection(null, stmt, conn);
}
}
}
private static UserBean loadById(long id) throws Exception {
UserBean res = null;
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = ConnectionManager.getConnnection();
String sql = "select * from t_2 where id=?";
ps = conn.prepareStatement(sql);
ps.setLong(1, id);
rs = ps.executeQuery();
if (rs.next()) {
res = new UserBean();
res.setId(rs.getLong("id"));
res.setUsername(rs.getString("username"));
res.setPassword(rs.getString("password"));
}
} finally {
ConnectionManager.closeConnection(rs, ps, conn);
}
return res;
}
private static void updateUser(Scanner s) throws Exception {// 创建修改方法
System.out.println("请输入修改的用户编号");
long id = s.nextLong();
s.nextLine();
UserBean user = loadById(id);
if (user != null) {
System.out.println("用户名称为" + user.getUsername() + ",请输入新名称 ");
String newName = s.nextLine();
if (newName == null || newName.trim().length() < 1)
newName = user.getUsername();
System.out.println("用户密码为" + user.getPassword() + ",请输入新密码");
String newPassword = s.nextLine();
if (newPassword == null || newPassword.trim().length() < 1)
newPassword = user.getPassword();
user.setUsername(newName);
user.setPassword(newPassword);
Connection conn = null;
PreparedStatement ps = null;
try {
conn = ConnectionManager.getConnnection();
String sql = "update t_2 set username=?,password=? where id=?";
ps = conn.prepareStatement(sql);
ps.setString(1, user.getUsername());
ps.setString(2, user.getPassword());
ps.setLong(3, user.getId());
int len = ps.executeUpdate();
if (len > 0)
System.out.println("修改成功");
} finally {
ConnectionManager.closeConnection(null, ps, conn);
}
}
}
private static List<UserBean> showAllUser() throws Exception {// 创建显示方法/////?????
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
List<UserBean> res = new ArrayList<UserBean>();
try {
conn = ConnectionManager.getConnnection();// 获取连接
String sql = "select * from t_2";// 获取信息
ps = conn.prepareStatement(sql);// sql语句
rs = ps.executeQuery();
while (rs.next()) {// 判定数据
UserBean temp = new UserBean();// new userbean
temp.setId(rs.getLong("id"));
temp.setUsername(rs.getString("username"));// 读取数据
temp.setPassword(rs.getString("password"));
res.add(temp);// 将信息增加到集合中
}
} finally {
ConnectionManager.closeConnection(rs, ps, conn);// //???????/
}
return res;
}
private static boolean loginUser(UserBean user) throws Exception {// 创建登陆方法
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = ConnectionManager.getConnnection();// 获取连接
String sql = "select * from t_2 where username=? and password=?";// 可以输入合法的sql语句
ps = conn.prepareStatement(sql);
ps.setString(1, user.getUsername());// 传入输入的信息
ps.setString(2, user.getPassword());
rs = ps.executeQuery();// 执行查询
return rs.next();
} finally {
ConnectionManager.closeConnection(rs, ps, conn);
}
}
private static void createUser(UserBean user) throws Exception {// 保存用户信息的方法
Connection conn = null;
PreparedStatement ps = null;
try {
Class.forName("oracle.jdbc.OracleDriver");
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:EDUASK", "buck", "5210");
String sql = "insert into t_2 (id,username,password)values(seq_users.nextval,?,?)";// 定义sql里传入的数值类型
ps = conn.prepareStatement(sql);// 连接
ps.setString(1, user.getUsername());// 给两个问号传入数值
ps.setString(2, user.getPassword());
int len = ps.executeUpdate();
if (len > 0)
System.out.println("添加数据成功!");
} finally {
ConnectionManager.closeConnection(null, ps, conn);
}
}
private static UserBean readLoginInput(Scanner s) {// 创建判断方法
System.out.println("输入用户名");
String username = s.nextLine();// 获取输入的整行信息/数据
while (username == null || username.trim().length() < 1)
username = s.nextLine();// 判断是否输入内容,必须输入最少一个字符
System.out.println("输入密码");// 输入密码 内容同上
String password = s.nextLine();
while (password == null || password.trim().length() < 1)
password = s.nextLine();
UserBean user = new UserBean();// 如果输入成功,则将输入的数据保存
user.setUsername(username);// 用户输入的名字
user.setPassword(password);// 用户输入的密码
return user;
}
private static UserBean readInput(Scanner s) {// 生成注册新用户方法
System.out.println("输入用户名");
String username = s.nextLine();// 获取输入的整行信息/数据
while (username == null || username.trim().length() < 1)
username = s.nextLine();// 判断是否输入内容,必须输入最少一个字符
System.out.println("输入密码");// 输入密码 内容同上
String password = s.nextLine();
while (password == null || password.trim().length() < 1)
password = s.nextLine();
System.out.println("再次输入密码");// 再次确认输入密码
String repassword = s.nextLine();
while (repassword == null || repassword.trim().length() < 1)
repassword = s.nextLine();
if (!password.equals(repassword)) {// 判断两次密码输入是否一致
System.out.println("两次输入密码不一致");
return readInput(s);// 不一致则再次调用自己,再次输入
} else {
UserBean user = new UserBean();// 如果输入成功,则将输入的数据保存
user.setUsername(username);// 用户输入的名字
user.setPassword(repassword);// 用户输入的密码
return user;
}
}
}
import java.awt.*;
import java.sql.*;
import java.util.*;
import java.util.List;
public class test {
public static void main(String[] args) throws Exception {
Scanner s = new Scanner(System.in);
aa: while (true) {
System.out.println("注册新用户--------A");
System.out.println("登陆---------L");
System.out.println("显示所有用户信息-----S");
System.out.println("修改数据--------U");
System.out.println("删除数据--------D");
System.out.println("退出系统--------E");
String str = s.nextLine();
if (str != null && str.trim().length() > 0) {// 只读取输入的字符
char c = str.charAt(0);
System.out.println(c);
UserBean user = null;
switch (c) {
case 'A':
case 'a':// 注册新用户
user = readInput(s);// 读取数据 调用下方注册新用户发法
// 下方调用方法中获取的用户信息user
createUser(user);// 保存用户输入的数据信息并在下方生成方法
break;
case 'L':// 登录系统
case 'l':
while (true) {
user = readLoginInput(s);// 读取数据
if (user != null) {
boolean bb = loginUser(user);// 判断若输入的数据不为空则调用下方的登陆方法
if (bb) {
System.out.println("登陆成功!");
break;
} else {
System.out.println("登陆失败!请重新登陆");
}
}
}
break;
case 'S':
case 's':
List<UserBean> ulist = showAllUser();// 调用显示方法
if (ulist != null && ulist.size() > 0) {// 判断数据不为空并且大于0
// 必须有一个数据
System.out.println("用户编号 用户名称 用户密码");
System.out.println("=================================");
for (UserBean temp : ulist) {// 遍历出所有符合上面条件规则的数据 并且输出
System.out.println(temp.getId() + " "
+ temp.getUsername() + " "
+ temp.getPassword());
}
System.out.println("==================================");
} else {
System.out.println("没有对应的用户数据");// 如果没有数据则输出这句话
}
break;
case 'U':
case 'u':
updateUser(s);// 调用下方修改方法
break;
case 'D':
case 'd':
deleteUser(s);// 调用下方删除方法
break;
default:
System.out.println("感谢使用本系统");
break aa;
}
}
}
}
private static void deleteUser(Scanner s) throws Exception {// 删除方法
System.out.println("请输入删除的用户编号");
long id = s.nextLong();
s.nextLine();
UserBean user = loadById(id);
if (user != null) {
Connection conn = null;
Statement stmt = null;
try {
conn = ConnectionManager.getConnnection();
String sql = "delete from t_2 where id=" + id;
stmt = conn.createStatement();
int len = stmt.executeUpdate(sql);
if (len > 0)
System.out.println("删除成功");
} finally {
ConnectionManager.closeConnection(null, stmt, conn);
}
}
}
private static UserBean loadById(long id) throws Exception {
UserBean res = null;
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = ConnectionManager.getConnnection();
String sql = "select * from t_2 where id=?";
ps = conn.prepareStatement(sql);
ps.setLong(1, id);
rs = ps.executeQuery();
if (rs.next()) {
res = new UserBean();
res.setId(rs.getLong("id"));
res.setUsername(rs.getString("username"));
res.setPassword(rs.getString("password"));
}
} finally {
ConnectionManager.closeConnection(rs, ps, conn);
}
return res;
}
private static void updateUser(Scanner s) throws Exception {// 创建修改方法
System.out.println("请输入修改的用户编号");
long id = s.nextLong();
s.nextLine();
UserBean user = loadById(id);
if (user != null) {
System.out.println("用户名称为" + user.getUsername() + ",请输入新名称 ");
String newName = s.nextLine();
if (newName == null || newName.trim().length() < 1)
newName = user.getUsername();
System.out.println("用户密码为" + user.getPassword() + ",请输入新密码");
String newPassword = s.nextLine();
if (newPassword == null || newPassword.trim().length() < 1)
newPassword = user.getPassword();
user.setUsername(newName);
user.setPassword(newPassword);
Connection conn = null;
PreparedStatement ps = null;
try {
conn = ConnectionManager.getConnnection();
String sql = "update t_2 set username=?,password=? where id=?";
ps = conn.prepareStatement(sql);
ps.setString(1, user.getUsername());
ps.setString(2, user.getPassword());
ps.setLong(3, user.getId());
int len = ps.executeUpdate();
if (len > 0)
System.out.println("修改成功");
} finally {
ConnectionManager.closeConnection(null, ps, conn);
}
}
}
private static List<UserBean> showAllUser() throws Exception {// 创建显示方法/////?????
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
List<UserBean> res = new ArrayList<UserBean>();
try {
conn = ConnectionManager.getConnnection();// 获取连接
String sql = "select * from t_2";// 获取信息
ps = conn.prepareStatement(sql);// sql语句
rs = ps.executeQuery();
while (rs.next()) {// 判定数据
UserBean temp = new UserBean();// new userbean
temp.setId(rs.getLong("id"));
temp.setUsername(rs.getString("username"));// 读取数据
temp.setPassword(rs.getString("password"));
res.add(temp);// 将信息增加到集合中
}
} finally {
ConnectionManager.closeConnection(rs, ps, conn);// //???????/
}
return res;
}
private static boolean loginUser(UserBean user) throws Exception {// 创建登陆方法
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = ConnectionManager.getConnnection();// 获取连接
String sql = "select * from t_2 where username=? and password=?";// 可以输入合法的sql语句
ps = conn.prepareStatement(sql);
ps.setString(1, user.getUsername());// 传入输入的信息
ps.setString(2, user.getPassword());
rs = ps.executeQuery();// 执行查询
return rs.next();
} finally {
ConnectionManager.closeConnection(rs, ps, conn);
}
}
private static void createUser(UserBean user) throws Exception {// 保存用户信息的方法
Connection conn = null;
PreparedStatement ps = null;
try {
Class.forName("oracle.jdbc.OracleDriver");
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:EDUASK", "buck", "5210");
String sql = "insert into t_2 (id,username,password)values(seq_users.nextval,?,?)";// 定义sql里传入的数值类型
ps = conn.prepareStatement(sql);// 连接
ps.setString(1, user.getUsername());// 给两个问号传入数值
ps.setString(2, user.getPassword());
int len = ps.executeUpdate();
if (len > 0)
System.out.println("添加数据成功!");
} finally {
ConnectionManager.closeConnection(null, ps, conn);
}
}
private static UserBean readLoginInput(Scanner s) {// 创建判断方法
System.out.println("输入用户名");
String username = s.nextLine();// 获取输入的整行信息/数据
while (username == null || username.trim().length() < 1)
username = s.nextLine();// 判断是否输入内容,必须输入最少一个字符
System.out.println("输入密码");// 输入密码 内容同上
String password = s.nextLine();
while (password == null || password.trim().length() < 1)
password = s.nextLine();
UserBean user = new UserBean();// 如果输入成功,则将输入的数据保存
user.setUsername(username);// 用户输入的名字
user.setPassword(password);// 用户输入的密码
return user;
}
private static UserBean readInput(Scanner s) {// 生成注册新用户方法
System.out.println("输入用户名");
String username = s.nextLine();// 获取输入的整行信息/数据
while (username == null || username.trim().length() < 1)
username = s.nextLine();// 判断是否输入内容,必须输入最少一个字符
System.out.println("输入密码");// 输入密码 内容同上
String password = s.nextLine();
while (password == null || password.trim().length() < 1)
password = s.nextLine();
System.out.println("再次输入密码");// 再次确认输入密码
String repassword = s.nextLine();
while (repassword == null || repassword.trim().length() < 1)
repassword = s.nextLine();
if (!password.equals(repassword)) {// 判断两次密码输入是否一致
System.out.println("两次输入密码不一致");
return readInput(s);// 不一致则再次调用自己,再次输入
} else {
UserBean user = new UserBean();// 如果输入成功,则将输入的数据保存
user.setUsername(username);// 用户输入的名字
user.setPassword(repassword);// 用户输入的密码
return user;
}
}
}