⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 user.java

📁 银行类
💻 JAVA
字号:
package bank;
import java.sql.*;

public class User {
private String id;
private String password;
public User(String id,String password){
this.id=id;
this.password=password;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}


}
package bank;
import java.sql.*;
public class ZhangHu {
private double money;
private String id;
private User user;

public ZhangHu(String id,User usr) {
super();
this.id = id;
this.money=0;
this.user=user;
}
public ZhangHu(double money, String id,User u) {
super();
this.money = money;
this.id = id;
this.user=u;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
public User getUser(){
return user;
}



}
package bank;

import java.sql.*;

public  UserManager {// w_user
private String URL;

private String db_name;

private String db_password;

private String table_name;// w_user

private Connection con;

public UserManager(String url, String db_name, String db_password,
String table_name) {
super();
URL = url;
this.db_name = db_name;
this.db_password = db_password;
this.table_name = table_name;

try {

Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(URL, db_name, db_password);

} catch (Exception e) {

}

}
public Connection getCon(){
return con;
}

public boolean createUser(String id, String name,String password) {
int count = 0;
Statement stmt = null;
try {
con.setAutoCommit(false);
stmt = con.createStatement();
count = stmt.executeUpdate("insert into " + table_name
+ " values("+id+"," + name + "," + password + ")");
} catch (Exception e) {
try {
con.rollback();
} catch (Exception ee) {
ee.printStackTrace();
}
e.printStackTrace();
} finally {
if (stmt != null)
try {
stmt.close();
} catch (Exception e) {
}
try {
con.commit();
} catch (Exception ee) {
ee.printStackTrace();
}
}
return count > 0;

}

public boolean removeUser(User user) {
String user_id = user.getId();
int count = 0;
Statement stmt = null;
try {
con.setAutoCommit(false);
stmt = con.createStatement();
count = stmt.executeUpdate("delete from " + table_name
+ " where user_id=" + user_id);

} catch (Exception e) {
count = 0;
try {
con.rollback();
} catch (Exception ee) {
ee.printStackTrace();
}
e.printStackTrace();

} finally {
if (stmt != null)
try {
stmt.close();
} catch (Exception e) {
}
try {
con.commit();
} catch (Exception ee) {
ee.printStackTrace();
}
}

return count > 0;
}

public boolean checkPassword(String id, String password) {
String password1 = password;
String password2 = null;
Statement stmt = null;
ResultSet rs = null;
try {
stmt = con.createStatement();
rs = stmt.executeQuery("select password from " + table_name
+ " where user_id=" + id);
if (rs.next()) {
System.out.print(rs.getString(1));
password2 = rs.getString(1);
}
System.out.println("p:"+password1+" "+password2);
} catch (Exception e) {
e.printStackTrace();
}
return password1.equals(password2);
}
public void printZhangHu(String id){
Statement stmt =null;
ResultSet rs = null;
try {
stmt = con.createStatement();
rs = stmt.executeQuery("select * from w_zhanghu"
+ " where user_id=" + id);
while(rs.next()) {
System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3)+" ");

}

} catch (Exception e) {
e.printStackTrace();
}


}


public String getTable_name() {
return table_name;
}
public void quit() {
if (con != null)
try {
con.close();
} catch (Exception e) {
}
System.exit(0);
}

}
package bank;

import java.sql.*;

public  ZhangHuManager {
private String URL;

private String db_name;

private String db_password;

private String table_name;// w_zhanghu

private Connection con;

public ZhangHuManager(String url, String db_name, String db_password,
String table_name) {
super();
URL = url;
this.db_name = db_name;
this.db_password = db_password;
this.table_name = table_name;

try {

Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(URL, db_name, db_password);

} catch (Exception e) {

}

}
public Connection getCon(){
return con;
}
public ZhangHu newZH(String money_id,User u){
Statement stmt=null;
Double money=0.0;
ResultSet rs=null;
ZhangHu zh=null;

try{
stmt=con.createStatement();
rs=stmt.executeQuery("select money from "+table_name+" where money_id="+money_id);
if(rs.next()){
money=rs.getDouble(1);
zh=new ZhangHu(money,money_id,u);
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(stmt!=null) try{ stmt.close();}catch(Exception e){};
}
return zh;
}

public boolean createZhangHu(User user,int money_id,double money) {
String userID = user.getId();
int count = 0;
Statement stmt = null;
try {
con.setAutoCommit(false);
stmt = con.createStatement();
count = stmt.executeUpdate("insert into " + table_name + " values("+money_id+","+ userID + ","+money+")");
} catch (Exception e) {
try {
con.rollback();
} catch (Exception ee) {
ee.printStackTrace();
}
e.printStackTrace();
} finally {
if (stmt != null)
try {
stmt.close();
} catch (Exception e) {
}
try {
con.commit();
} catch (Exception ee) {
ee.printStackTrace();
}
}
return count > 0;
}

public boolean removeZhangHu(ZhangHu zh) {
String money_id = zh.getId();
int count = 0;
Statement stmt = null;
try {
con.setAutoCommit(false);
stmt = con.createStatement();
count = stmt.executeUpdate("delete from " + table_name
+ " where money_id=" + money_id);

} catch (Exception e) {
count=0;
try {
con.rollback();
} catch (Exception ee) {
ee.printStackTrace();
}
e.printStackTrace();

} finally {
if (stmt != null)
try {
stmt.close();
} catch (Exception e) {
}
try {
con.commit();
} catch (Exception ee) {
ee.printStackTrace();
}
}

return count > 0;
}

public boolean sendMoney(String mid1, String mid2, double money) {
String money_id1 = mid1;
String money_id2 = mid2;// mid1 把 money 给 mid2
double change1 = -money;
double change2 = money;
int count = 0;
ResultSet rs = null;
Statement stmt = null;
try { // 开始事务
con.setAutoCommit(false);

stmt = con.createStatement();
// zh1 减少 change money
rs = stmt.executeQuery("select money from " + table_name
+ " where money_id=" + money_id1);
if (rs.next()) {
change1 = change1 + rs.getDouble(1);
System.out.println(change1);
}
count = stmt.executeUpdate("update " + table_name + " set money="
+ change1 + " where money_id=" + money_id1);
// zh2 增加 change money
rs = stmt.executeQuery("select money from " + table_name
+ " where money_id=" + money_id2);
if (rs.next()) {
change2 = change2 + rs.getDouble(1);
}
count = stmt.executeUpdate("update " + table_name + " set money="
+ change2 + " where money_id=" + money_id2);

} catch (Exception e) {
e.printStackTrace();
count=0;
try {
con.rollback();
} catch (Exception ee) {
ee.printStackTrace();
}
} finally {
if (stmt != null)
try {
stmt.close();
} catch (Exception e) {
}
try {
con.commit();
} catch (Exception ee) {
ee.printStackTrace();
}
}

return count > 0;
}

public void quit() {
if(con!=null) try{ con.close();}catch(Exception e){ }

}

}
package bank;

import java.sql.*;
import java.util.*;
import java.io.*;

public  class TestBank {

public static String[] login(UserManager um) {// 登录
String sb = new String();
InputStreamReader isr = null;
BufferedReader br = null;
String s1 = null;
String s2 = null;
String[] ss = null;
boolean b = false;
System.out.println("请输入用户ID, 密码:");
try {
isr = new InputStreamReader(System.in);
br = new BufferedReader(isr);
String s = br.readLine();
System.out.println(s);
String[] str = s.split(" ");
System.out.print(str[0] + " " + str[1]);
s1 = str[0];
s2 = str[1];
ss = str;
} catch (Exception e) {
e.printStackTrace();
} finally {
if (isr != null)
try {
isr.close();
} catch (Exception e) {
}
if (br != null)
try {
br.close();
} catch (Exception e) {
}
b = um.checkPassword(s1, s2);
if (!b)
ss = null;

}
return ss;
}

public static String[] input() {
String s = null;
InputStreamReader isr = null;
BufferedReader br = null;
String[] str = null;
try {
isr = new InputStreamReader(System.in);
br = new BufferedReader(isr);
s = br.readLine();
str = s.split(" ");
} catch (Exception e) {
e.printStackTrace();
} finally {
if (br != null)
try {
br.close();
} catch (Exception ee) {
}
}
return str;

}

public static void main(String[] args) {
User user = null;
ZhangHu zh = null;
UserManager um = null;
ZhangHuManager zhm = null;
String[] str = null;
try {
um = new UserManager("jdbc:oracle:thin:@192.168.0.201:1521:tarena",
"xjh0704", "xjh0704", "w_user");
// for (;;) {
if ((str = TestBank.login(um)) != null) {
System.out.println("你已登录");

// System.out.println("请输入账号:");
// str = input();
// zh = zhm.newZH(str[0], user);
// System.out.println("your money is " + zh.getMoney());
zhm = new ZhangHuManager(
"jdbc:oracle:thin:@192.168.0.201:1521:tarena",
"xjh0704", "xjh0704", "w_zhanghu");
// switch chose options
//
User us = new User(str[0], str[1]);
// zhm.createZhangHu(us, 141, 100);
// zhm.createZhangHu(us, 151, 100);
zhm.sendMoney("121", "131", 10);

} else {
System.out.println("登陆失败,建立新帐户吗?(y/n)");
str = input();
if (str[0].equals("y")) {
System.out.println("please input : id,name,password ");
str = input();
um.createUser(str[0], str[1], str[2]);
}

}
// }

} catch (Exception e) {
e.printStackTrace();
}

}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -