import java.util.Calendar; import com.tarena.abs.model.*;
// »úƱ³öƱ¼Ç¼·ÃÎʽӿÚ
public interface TicketOrderDAO {
// Ö´ÐгöƱµÄ²Ù×÷¡£
public boolean order(Order ord);
// Ö´ÐÐÍËÆ±²Ù×÷¡£
public boolean cancelOrder(int TicketNumber);
// ²éѯָ¶¨ÓªÒµÍøµãÔÚÖ¸¶¨Ê±¼ä¶ÎÄڵijöƱ¼Ç¼
Set
getAllTicketOrder(Branch
branch,Calendar
public
startDate,Calendar endDate);
// µÃµ½Ö¸¶¨ÓªÒµÍøµãÖ¸¶¨ÈÕÆÚÄÚµÄÓªÒµ¶î¡£
public double getAllTicketMoney(Branch branch,Calendar startDate,Calendar endDate);
//µÃµ½ËùÓÐÓªÒµÍøµãÖ¸¶¨ÈÕÆÚÄÚµÄÓªÒµ¶î
public double getAllTicketMoney(Calendar startDate,Calendar endDate); }
4 ¹Ø½¡´úÂë·ÖÎö 4.1Á÷³Ì´úÂë·ÖÎö
·þÎñÆ÷Æô¶¯Ê±¶ÁÈ¡ÅäÖÃÎļþ£¬¶ÁÈ¡Êý¾Ý£¬²¢ÇÒ·þÎñÆ÷¶ËServerSocket µÈ´ý¿Í»§¶ËÏß³Ì
//²éѯËùÓгöƱÐÅÏ¢
public Set
·ÃÎÊ£¬µ±ÊÕµ½¿Í»§¶ËÏàÓ¦ºó£¬Ôò´´½¨Ò»¸öеķþÎñÏß³Ì Ö´ÐзþÎñ¡£
ServerSocket ss=null; Socket s=null;
try {
//´´½¨·þÎñÆ÷socket
ss=new
ServerSocket(Integer.parseInt(pro.getProperty(\
while(true){
s=ss.accept();
//ת·¢¸øserverThread´¦Àí£¨´«µÝsocket²ÎÊý£© new ServerThread(s).start()
}
} catch (IOException e) { }
e.printStackTrace();
·þÎñÏß³ÌServerThreadͨ¹ý¹¹Ô캯Êý½ÓÊÜsocket£¬È»ºóת·¢¸øController
public class ServerThread extends Thread{
Socket s;
protected ServerThread(Socket s){ //Óô«ÈëµÄsocket³õʼ»¯ }
public void run(){
try {
new Controller(s).handle(); //½»¸ø¿ØÖÆÆ÷´¦Àí this.s=s;
}
} catch (Exception e) {
e.printStackTrace();
}finally{ } }
try{s.close();}catch(IOException e){}
ÓÉcontrollerµ÷ÓÃhandle·½·¨£¬·ÖÎöÇëÇó¶ÔÏó¡£
if(type.equals(\µÇ½´¦Àí
loginHandle(req);
}else if(type.equals(\º½°à¼Æ»®²éѯ´¦Àí
flightSearchHandle(req);
}else if(type.equals(\¶©µ¥´¦Àí
orderHandle();
}else if(type.equals(\Í˳ö´¦Àí
//quitHandle(); break;
}else if(type.equals(\ }
Óв»Í¬µÄ´¦Àí³ÌÐò£¬µ÷ÓÃÏàÓ¦µÄdao½«²éѯÐÅÏ¢·â×°µ½responseÖС£
modifyPasswd(req);
hs=(HashSet)(flightDao.getAllFlights(fromAddr,toAddr,cal)); Response res=new Response(\res.setData(hs);
4.2Óñí¸ñÏÔʾ±íµ¥
µ±¿Í»§¶Ë²éѯµ½º½°à¼Æ»®Ê±£¬°Ñflightlistº½°à¼¯ºÏ´«¸øFlightTableModel,ÔÙ°ÑFLightTableModel´«¸øJTable£¬È»ºó°ÑJTable¼ÓÈëJScorllPane£¬¾Í»á×Ô¶¯ÏÔʾÊý¾Ý¡£
FlightTableModel ftm = new FlightTableModel(flightlist); JTable jt = new JTable(ftm);
ClientMainClass.clientFrame.setTable(jt);
FlightTableModelʵÏÖÁËAbstractTableModel½Ó¿Ú£¬ÊµÏÖÁËÈçÏÂËĸö·½·¨¡£
package com.tarena.abs.client; import javax.swing.table.*; import java.util.*;
import com.tarena.abs.model.*;
public class FlightTableModel extends AbstractTableModel{
ArrayList s;
public FlightTableModel(ArrayList s){ }
//»ñµÃÁÐÃû
public String getColumnName(int arg0) {
switch(arg0){
case 0: return \º½°àºÅ\case 1: return \³ö·¢µØ\case 2: return \Ä¿µÄµØ\case 3: return \Æð·Éʱ¼ä\case 4: return \µ½´ïʱ¼ä\case 5: return \»úÐÍ\case 6: return \Ʊ¼Û\case 7: return \Í·µÈ²Õ\case 8: return \¹«Îñ²Õ\case 9: return \¾¼Ã²Õ\default: return null; this.s=s;
}
}
//»ñµÃÐÐÊý
public int getColumnCount() { }
//»ñµÃÁÐÊý
public int getRowCount() { }
//»ñµÃÖ¸¶¨Î»ÖõÄÖµ
public Object getValueAt(int row, int col) {
Flight f=(Flight)s.get(row); if(row<0 || row>s.size())
return null; return s.size(); return 10;
switch(col){
case 0: return f.getSch().getFlightNumber(); case 1: return f.getSch().getFromAddress(); case 2: return f.getSch().getToAddress(); case 3: return f.getSch().getFromTime(); case 4: return f.getSch().getToTime(); case 5: return f.getSch().getPlane(); case 6: return
(int)(f.getSch().getPrice()*f.getPriceOff());
}
}
case 7: return f.getFCSRemain(); case 8: return f.getBCSRemain(); case 9: return f.getECSRemain(); default: return null;
}
4.3 HibernateÓ³Éä¹ØÏµ
1¡¢¹¹½¨pojo(Plain Old Java Objects)¶ÔÏó
ÓÃJDBC´¢´æÊý¾Ýʱ£¬Éæ¼°¶à¸ö±í¸ñµÄÐ޸쬲éÕÒ¡£¹¤×÷ÄѶȽϴó¡£ËùÒÔ¿¼ÂÇÓÃhibernate
Ïà¹ØÍÆ¼ö£º