package com.java.jdbctest;
import java.sql.*;
import java.util.*;
import java.util.Date;
import com.java.jdbc.JdbcUtil;
import java.text.*;
public class UserTest {
static String loginUserAccString = null;
static String loginUserPawString = null;
static Scanner scanner = new Scanner(System.in);
public static void testUser() throws SQLException {
//Connection connection = DriverManager.getConnection("jdbc:mysql:///banksystem?useSSL=false", "root", "root");
Connection connection=JdbcUtil.getConection();
PreparedStatement psLogin = null;
System.out.println("请输入账户:");
String logUseracc = scanner.nextLine();
System.out.println("请输入密码:");
String logUserpaw = scanner.nextLine();
String sql = "select Account,Password from t_user where Account=? and Password=?";
psLogin = connection.prepareStatement(sql);
psLogin.setString(1, logUseracc);
psLogin.setString(2, logUserpaw);
ResultSet setLogin = psLogin.executeQuery();
while (setLogin.next()) {
loginUserAccString = setLogin.getString("Account");
loginUserPawString = setLogin.getString("Password");
}
if (logUseracc.equals(loginUserAccString) && logUserpaw.equals(loginUserPawString)) {
System.out.println("登陆成功");
UserInterface();
} else {
System.out.println("登录失败");
BankTest.test();
}
}
public static void UserInterface() throws SQLException {
System.out.println("*********欢迎进入用户界面**********");
System.out.println("请选择:");
System.out.println("1、存钱");
System.out.println("2、转账");
System.out.println("3、取钱");
System.out.println("4、查询明细");
System.out.println("5、余额查询");
System.out.println("6、修改密码");
System.out.println("7、返回大厅");
int num = Integer.parseInt(scanner.nextLine());
switch (num) {
case 1:
saveMoney();
break;
case 2:
transferMoney();
break;
case 3:
makeMoney();
break;
case 4:
detail();
break;
case 5:
balance();
break;
case 6:
updPaw();
break;
case 7:
userExist();
break;
default:
System.out.println("确保输入无误");
break;
}
}
public static void saveMoney() throws SQLException {
// TODO Auto-generated method stub
System.out.println("请输入存款金额:");
String saveMoney = scanner.nextLine();
//Connection connection = DriverManager.getConnection("jdbc:mysql:///banksystem?useSSL=false", "root", "root");
Connection connection=JdbcUtil.getConection();
PreparedStatement psSaveMoney = null;
PreparedStatement psInset = null;
PreparedStatement psUpd = null;
Date dNow = new Date();
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String timeString = ft.format(dNow);
String type = "存钱";
String sqlString = "select Balance from t_balance where Baccount=?";
psSaveMoney = connection.prepareStatement(sqlString);
psSaveMoney.setString(1, loginUserAccString);
ResultSet rSet = psSaveMoney.executeQuery();
String balanceString =null;
while (rSet.next()) {
balanceString = rSet.getString("Balance");
}
String sql0 = "insert into t_operation(Oaccount,Time,Type,Cash,Obalance)value(?,?,?,?,?)";
psInset = connection.prepareStatement(sql0);
psInset.setString(1, loginUserAccString);
psInset.setString(2, timeString);
psInset.setString(3, type);
psInset.setString(4, saveMoney);
psInset.setString(5, String.valueOf(Double.parseDouble(balanceString) + Double.parseDouble(saveMoney)));
int i = psInset.executeUpdate();
if (i == 1) {
System.out.println("存钱成功");
String sql1 = "update t_balance set Balance=? where Baccount=?";
psUpd = connection.prepareStatement(sql1);
psUpd.setString(1, String.valueOf(Double.parseDouble(balanceString) + Double.parseDouble(saveMoney)));
psUpd.setString(2, loginUserAccString);
int j=psUpd.executeUpdate();
System.out.println(j);
UserInterface();
} else {
System.out.println("存钱失败");
UserInterface();
}
}
public static void transferMoney() throws SQLException {
System.out.println("请输入转账的卡号:");
String istransferAcc = scanner.nextLine();
System.out.println("请输入转账金额:");
String transferMoney = scanner.nextLine();
//Connection connection = DriverManager.getConnection("jdbc:mysql:///banksystem?useSSL=false", "root", "root");
Connection connection=JdbcUtil.getConection();
PreparedStatement psTransferMoney = null;
PreparedStatement psInset = null;
PreparedStatement psUpd = null;
PreparedStatement psUpd1=null;
PreparedStatement pssearch=null;
Date dNow = new Date();
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String timeString = ft.format(dNow);
String type = "转账";
String sqlString = "select Balance from t_balance where Baccount=?";
psTransferMoney = connection.prepareStatement(sqlString);
psTransferMoney.setString(1, loginUserAccString);
ResultSet rSet = psTransferMoney.executeQuery();
String balanceString =null;
while (rSet.next()) {
balanceString = rSet.getString("Balance");
}
String sql0 = "insert into t_operation(Oaccount,Time,Type,Cash,Obalance)value(?,?,?,?,?)";
psInset = connection.prepareStatement(sql0);
psInset.setString(1, loginUserAccString);
psInset.setString(2, timeString);
psInset.setString(3, type);
psInset.setString(4, transferMoney);
psInset.setString(5, String.valueOf(Double.parseDouble(balanceString) - Double.parseDouble(transferMoney)));
int i = psInset.executeUpdate();
if (i == 1) {
System.out.println("转账成功");
String sql1 = "update t_balance set Balance=? where Baccount=?";
psUpd = connection.prepareStatement(sql1);
psUpd.setString(1, String.valueOf(Double.parseDouble(balanceString) - Double.parseDouble(transferMoney)));
psUpd.setString(2, loginUserAccString);
int j=psUpd.executeUpdate();
//System.out.println(j);
String sqlString1 = "select Balance from t_balance where Baccount=?";
pssearch = connection.prepareStatement(sqlString1);
pssearch.setString(1, loginUserAccString);
ResultSet rSet1 = psTransferMoney.executeQuery();
String balanceString1 =null;
while (rSet1.next()) {
balanceString1 = rSet1.getString("Balance");
}
String sql2="update t_balance set Balance=? where Baccount=?";
psUpd1 = connection.prepareStatement(sql2);
psUpd1.setString(1, String.valueOf(Double.parseDouble(balanceString1) + Double.parseDouble(transferMoney)));
psUpd1.setString(2, istransferAcc);
int k=psUpd.executeUpdate();
//System.out.println(k);
UserInterface();
} else {
System.out.println("转账失败");
UserInterface();
}
}
public static void makeMoney() throws SQLException {
System.out.println("请输入取款金额:");
String makeMoney=scanner.nextLine();
//Connection connection = DriverManager.getConnection("jdbc:mysql:///banksystem?useSSL=false", "root", "root");
Connection connection=JdbcUtil.getConection();
PreparedStatement psSaveMoney = null;
PreparedStatement psInset = null;
PreparedStatement psUpd = null;
Date dNow = new Date();
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String timeString = ft.format(dNow);
String type = "取钱";
String sqlString = "select Balance from t_balance where Baccount=?";
psSaveMoney = connection.prepareStatement(sqlString);
psSaveMoney.setString(1, loginUserAccString);
ResultSet rSet = psSaveMoney.executeQuery();
String balanceString =null;
while (rSet.next()) {
balanceString = rSet.getString("Balance");
}
String sql0 = "insert into t_operation(Oaccount,Time,Type,Cash,Obalance)value(?,?,?,