📄 datacenter.java
字号:
return 0;
}
}
public int ModifyUser(User user)
{
String update = "UPDATE hotel_user SET " +
" password=" +"'"+ user.get_password() +"',"+
" userGroup=" +"'"+ user.get_identity() +"',"+
" userIDinGroup=" +"'"+ ((user.get_identity()!= User.GRP_CUSTOMER)?((Operator)user).get_id():-1)+"',"+
" type=" +"'"+ user.get_type() +"',"+
" point=" +"'"+ user.get_point() +"',"+
" vip=" +"'"+ ((user.get_vip())?"1":"0") +"',"+
" lastLoginIP=" +"'"+ user.get_lastLoginIP()+"',"+
" lastLoginTime=" +"'"+ System.currentTimeMillis()+"',"+ // to be modify to last login time
" address=" +"'"+ user.get_address()+"',"+
" fromCity=" +"'"+ user.get_fromCity()+"',"+
" fromCountry=" +"'China',"+ // to be modify to country name
" email=" +"'"+ user.get_email()+"',"+
" mobile=" +"'"+ user.get_mobile()+"',"+
" phone=" +"'"+ user.get_phone()+"',"+
" realName=" +"'"+ user.get_name()+"',"+
" birthday=" +"'"+ System.currentTimeMillis()+"',"+
" sex=" +"'"+ (user.get_sex()?0:1)+"',"+
" description=" +"'"+ user.get_description()+"',"+
" habit=" +"'"+ user.get_habit()+"',"+
" ICQ=" +"'"+ user.get_ICQ()+"',"+
" fax=" +"'"+ user.get_fax()+"'"+
" WHERE userName =" +"'"+user.get_userName() +"'";
System.out.println(update);
try {
return stmt.executeUpdate(update);
} catch (SQLException e) {
e.printStackTrace();
return 0;
}
}
public int DeleteUser(User user)
{
String username = user.get_userName();
return (username == null)?0:DeleteUser(username);
}
public int DeleteUser(String userName)
{
String delete = "DELETE FROM hotel_user WHERE userName =" +"'"+ userName +"'";
System.out.println(delete);
try {
return stmt.executeUpdate(delete);
} catch (SQLException e) {
e.printStackTrace();
return 0;
}
}
public User [] SearchUsers(Condition []conditions){
return SearchUsers(TranslateCondition(conditions));
}
public User [] SearchUsers(String condition)
{
String query = "SELECT * FROM hotel_user "+ condition;
System.out.println(query);
try {
ResultSet rs = stmt.executeQuery(query);
List list = new ArrayList();
while(rs.next()){
User user;
int usertype = rs.getInt(4);
if(usertype == User.GRP_CUSTOMER)
user = new Customer();
else if (usertype == User.GRP_OPERATOR)
user = new Operator();
else if (usertype == User.GRP_ADMINISTRATOR)
user = new Administrator();
else
continue;
user.set_userName(rs.getString(2));
user.set_password(rs.getString(3));
user.set_identity(rs.getInt(4));
if(rs.getInt(4) > User.GRP_CUSTOMER)
((Operator)user).set_id(rs.getInt(5));
user.set_type(rs.getInt(6));
user.set_point(rs.getInt(7));
user.set_vip(rs.getInt(8)==1);
user.set_lastLoginIP(rs.getString(9));
user.set_address(rs.getString(11));
user.set_fromCity(rs.getString(12));
user.set_email(rs.getString(14));
user.set_mobile(rs.getString(15));
user.set_phone(rs.getString(16));
user.set_name(rs.getString(17));
user.set_birthday(new Date(rs.getLong(18)));
user.set_sex(rs.getInt(19)==1);
user.set_description(rs.getString(20));
user.set_habit(rs.getString(21));
user.set_ICQ(rs.getString(22));
user.set_fax(rs.getString(23));
list.add(user);
}
User [] us = new User[list.size()];
list.toArray(us);
return us;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
public String [] SearchUserNames(Condition []conditions){
return SearchUserNames(TranslateCondition(conditions));
}
public String [] SearchUserNames(String condition)
{
String query = "SELECT * FROM hotel_user "+ condition;
try {
ResultSet rs = stmt.executeQuery(query);
List list = new ArrayList();
while(rs.next()){
list.add(rs.getString(2));
}
String [] us = new String[list.size()];
list.toArray(us);
return us;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
public User QueryUser(String userName)
{
String query = "SELECT * FROM hotel_user WHERE userName = '"+ userName +"'";
try {
if(null == stmt){
System.out.println("wokao!");
return null;
}
ResultSet rs = stmt.executeQuery(query);
while(rs.next()){
User user;
int usertype = rs.getInt(4);
if(usertype == User.GRP_CUSTOMER)
user = new Customer();
else if (usertype == User.GRP_OPERATOR)
user = new Operator();
else if (usertype == User.GRP_ADMINISTRATOR)
user = new Administrator();
else
continue;
user.set_userName(rs.getString(2));
user.set_password(rs.getString(3));
user.set_identity(rs.getInt(4));
if(rs.getInt(4) > User.GRP_CUSTOMER)
((Operator)user).set_id(rs.getInt(5));
user.set_type(rs.getInt(6));
user.set_point(rs.getInt(7));
user.set_vip(rs.getInt(8)==1);
user.set_lastLoginIP(rs.getString(9));
user.set_address(rs.getString(11));
user.set_fromCity(rs.getString(12));
user.set_email(rs.getString(14));
user.set_mobile(rs.getString(15));
user.set_phone(rs.getString(16));
user.set_name(rs.getString(17));
user.set_birthday(new Date(rs.getLong(18)));
user.set_sex(rs.getInt(19)==1);
user.set_description(rs.getString(20));
user.set_habit(rs.getString(21));
user.set_ICQ(rs.getString(22));
user.set_fax(rs.getString(23));
return user;
}
return null;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
public int AddRoom(Room room)
{
StringBuffer orderIDs =new StringBuffer();
int [] ids = room.get_roomOrderList();
if(ids != null){
for(int i =0;i< ids.length-1;i++){
orderIDs.append(ids[i]);
orderIDs.append(":");
}
orderIDs.append(ids[ids.length-1]);
}
String insert = "INSERT INTO hotel_room VALUES(NULL," +
"'"+room.get_roomType() +"',"+
"'"+room.get_roomHotel() +"',"+
"'"+"HotelName" +"',"+//hotel Name
"'"+room.get_roomBuildingNum() +"',"+
"'"+room.get_roomFloor() +"',"+
"'"+room.get_roomRoomNum() +"',"+
"'"+room.get_roomBedNum() +"',"+
"'"+(int)room.get_roomPrice() +"',"+
"'"+room.get_roomStatus() +"',"+
"'"+(int)room.get_roomOrderPrice() +"',"+
"'"+room.get_roomImage() +"',"+
"'"+room.get_roomDescription() +"',"+
"'"+(room.get_roomOfferBreakfast()?"1":"0") +"',"+
"'"+(room.get_roomIsAvaliable()?"1":"0") +"',"+
"'"+(room.get_roomHasPhone()?"1":"0") +"',"+
"'"+orderIDs.toString() +"'"+
")";
System.out.println(insert);
try {
return stmt.executeUpdate(insert);
} catch (SQLException e) {
e.printStackTrace();
return 0;
}
}
public int ModifyRoom(Room room)
{
StringBuffer orderIDs =new StringBuffer();
int [] ids = room.get_roomOrderList();
if(ids != null && ids.length!=0){
for(int i =0;i< ids.length-1;i++){
orderIDs.append(ids[i]);
orderIDs.append(":");
}
orderIDs.append(ids[ids.length-1]);
}
String update = "UPDATE hotel_room SET " +
"roomType =" + "'"+room.get_roomType() +"',"+
"hoteID =" + "'"+room.get_roomHotel() +"',"+
"hotelName =" + "'"+"HotelName" +"',"+//hotel Name
"roomBuilderName =" + "'"+room.get_roomBuildingNum() +"',"+
"roomFloorNum =" + "'"+room.get_roomFloor() +"',"+
"roomRoomNum =" + "'"+room.get_roomRoomNum() +"',"+
"roomBedNum =" + "'"+room.get_roomBedNum() +"',"+
"roomPrice =" + "'"+(int)room.get_roomPrice() +"',"+
"roomStatus =" + "'"+room.get_roomStatus() +"',"+
"roomOrderPrice =" + "'"+(int)room.get_roomOrderPrice() +"',"+
"roomImage =" + "'"+room.get_roomImage() +"',"+
"roomDescription =" + "'"+room.get_roomDescription() +"',"+
"roomOfferBreakfast =" + "'"+(room.get_roomOfferBreakfast()?"1":"0") +"',"+
"roomIsAvaliable =" + "'"+(room.get_roomIsAvaliable()?"1":"0") +"',"+
"roomHasPhone =" + "'"+(room.get_roomHasPhone()?"1":"0") +"',"+
"roomOrderList =" + "'"+orderIDs.toString() +"'"+
" WHERE roomID =" +"'"+room.get_roomID() +"'";
System.out.println(update);
try {
return stmt.executeUpdate(update);
} catch (SQLException e) {
e.printStackTrace();
return 0;
}
}
public int DeleteRoom(Room room)
{
return (room.get_roomID()<1)?0:DeleteRoom(room.get_roomID());
}
public int DeleteRoom(int roomID)
{
String delete = "DELETE FROM hotel_room WHERE roomID =" +"'"+ roomID +"'";
System.out.println(delete);
try {
return stmt.executeUpdate(delete);
} catch (SQLException e) {
e.printStackTrace();
return 0;
}
}
public Room [] SearchRooms(Condition []conditions){
return SearchRooms(TranslateCondition(conditions));
}
public Room[] SearchRooms(String condition)
{
String query = "SELECT * FROM hotel_room "+ condition;
try {
ResultSet rs = stmt.executeQuery(query);
List list = new ArrayList();
while(rs.next()){
Room room = new Room();
room.set_roomID(rs.getInt(1));
room.set_roomType(rs.getInt(2));
room.set_roomHotel(rs.getInt(3));
room.set_roomBuildingNum(rs.getString(5));
room.set_roomFloor(rs.getInt(6));
room.set_roomRoomNum(rs.getString(7));
room.set_roomBedNum(rs.getInt(8));
room.set_roomPrice((float)rs.getInt(9));
room.set_roomStatus(rs.getInt(10));
room.set_roomOrderPrice((float)rs.getInt(11));
room.set_roomImage(rs.getString(12));
room.set_roomDescription(rs.getString(13));
room.set_roomOfferBreakfast(rs.getInt(14)==1);
room.set_roomIsAvaliable(rs.getInt(15)==1);
room.set_roomHasPhone(rs.getInt(16)==1);
String orders = rs.getString(17);
int [] orderlist;
if(orders == null || "".equals(orders))
orderlist = new int[0];
else{
orders.trim();
String []results = orders.split(":");
orderlist = new int[results.length];
for(int i =0;i<orderlist.length;i++){
try{
orderlist[i] = Integer.valueOf(results[i]).intValue();
}catch(Exception e){
orderlist = new int[0];
break;
}
}
}
room.set_roomOrderList(orderlist);
list.add(room);
}
Room [] rooms = new Room[list.size()];
list.toArray(rooms);
return rooms;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
public int [] SearchRoomIDs(Condition []conditions){
return SearchRoomIDs(TranslateCondition(conditions));
}
public int [] SearchRoomIDs(String condition)
{
String query = "SELECT * FROM hotel_room "+ condition;
try {
ResultSet rs = stmt.executeQuery(query);
List list = new ArrayList();
while(rs.next()){
list.add(new Integer(rs.getInt(1)));
}
Integer [] irs = new Integer[list.size()];
list.toArray(irs);
int [] rooms = new int[irs.length];
for(int i =0;i<irs.length;i++)
rooms[i] = irs[i].intValue();
return rooms;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
public Room QueryRoom(int roomID)
{
Room [] rooms = SearchRooms("WHERE roomID ='"+roomID+"'");
return (rooms!=null)?rooms[0]:null;
}
public String GetRoomTypeByID(int roomID)
{
return "not implemented yet!";
}
public Connection getCon() {
return con;
}
public ResultSet executeQuery(String sql) {
ResultSet rs = null;
try {
rs = stmt.executeQuery(sql);
}
catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
public boolean executeUpdate(String sql) {
boolean v = false;
try {
v = stmt.executeUpdate(sql) > 0 ? true : false;
}
catch (SQLException e) {
e.printStackTrace();
}
finally {
return v;
}
}
public static void main(String args[]){
System.out.println("testDataCenter");
DataCenter dc = DataCenter.get_INSTANCE();
dc.Disconnect();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -