O/R Mapping ÊÇ Object Relational Mapping£¨¶ÔÏó¹ØÏµÓ³É䣩µÄËõд¡£Í¨Ë׵㽲£¬¾ÍÊǽ«¶ÔÏóÓë¹ØÏµÊý¾Ý¿â°ó¶¨£¬ÓöÔÏóÀ´±íʾ¹ØÏµÊý¾Ý¡£ÔÚO/R MappingµÄÊÀ½çÀÓÐÁ½¸ö»ù±¾µÄÒ²ÊÇÖØÒªµÄ¶«¶«ÐèÒªÁ˽⣬¼´VO£¬PO¡£
¡¡¡¡VO£¬Öµ¶ÔÏó(Value Object)£¬PO£¬³Ö¾Ã¶ÔÏó(Persisent Object)£¬ËüÃÇÊÇÓÉÒ»×éÊôÐÔºÍÊôÐÔµÄgetºÍset·½·¨×é³É¡£´Ó½á¹¹ÉÏ¿´£¬ËüÃDz¢Ã»ÓÐʲô²»Í¬µÄµØ·½¡£µ«´ÓÆäÒâÒåºÍ±¾ÖÊÉÏÀ´¿´ÊÇÍêÈ«²»Í¬µÄ¡£
£±£®VOÊÇÓÃnew¹Ø¼ü×Ö´´½¨£¬ÓÉGC»ØÊյġ£
¡¡¡¡POÔòÊÇÏòÊý¾Ý¿âÖÐÌí¼ÓÐÂÊý¾Ýʱ´´½¨£¬É¾³ýÊý¾Ý¿âÖÐÊý¾ÝʱÏ÷³ýµÄ¡£²¢ÇÒËüÖ»ÄÜ´æ»îÔÚÒ»¸öÊý¾Ý¿âÁ¬½ÓÖУ¬¶Ï¿ªÁ¬½Ó¼´±»Ïú»Ù¡£
£²£®VOÊÇÖµ¶ÔÏ󣬾«È·µã½²ËüÊÇÒµÎñ¶ÔÏó£¬ÊÇ´æ»îÔÚÒµÎñ²ãµÄ£¬ÊÇÒµÎñÂ߼ʹÓõģ¬Ëü´æ»îµÄÄ¿µÄ¾ÍÊÇΪÊý¾ÝÌṩһ¸öÉú´æµÄµØ·½¡£
¡¡¡¡POÔòÊÇÓÐ״̬µÄ£¬Ã¿¸öÊôÐÔ´ú±íÆäµ±Ç°µÄ״̬¡£ËüÊÇÎïÀíÊý¾ÝµÄ¶ÔÏó±íʾ¡£Ê¹ÓÃËü£¬¿ÉÒÔʹÎÒÃǵijÌÐòÓëÎïÀíÊý¾Ý½âñ²¢ÇÒ¿ÉÒÔ¼ò»¯¶ÔÏóÊý¾ÝÓëÎïÀíÊý¾ÝÖ®¼äµÄת»»¡£
£³£®VOµÄÊôÐÔÊǸù¾Ýµ±Ç°ÒµÎñµÄ²»Í¬¶ø²»Í¬µÄ£¬Ò²¾ÍÊÇ˵£¬ËüµÄÿһ¸öÊôÐÔ¶¼Ò»Ò»¶ÔÓ¦µ±Ç°ÒµÎñÂß¼ËùÐèÒªµÄÊý¾ÝµÄÃû³Æ¡£
¡¡¡¡POµÄÊôÐÔÊǸúÊý¾Ý¿â±íµÄ×Ö¶ÎÒ»Ò»¶ÔÓ¦µÄ¡£
PO¶ÔÏóÐèҪʵÏÖÐòÁл¯½Ó¿Ú¡£
---------- ......
javaÁ¬½Ó³£¼ûÊý¾Ý¿âµÄÁ¬½Ó×Ö·û´®
1. MySQL(http://www.mysql.com)mm.mysql-2.0.2-bin.jar ;
Class.forName( "org.gjt.mm.mysql.Driver" );
cn = DriverManager.getConnection( "jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabaseName", sUsr, sPwd );
2. PostgreSQL(http://www.de.postgresql.org)pgjdbc2.jar ;
Class.forName( "org.postgresql.Driver" );
cn = DriverManager.getConnection( "jdbc:postgresql://MyDbComputerNameOrIP/myDatabaseName", sUsr, sPwd );
3. Oracle(http://www.oracle.com/ip/deploy/database/oracle9i/)classes12.zip ;
Class.forName( "oracle.jdbc.driver.OracleDriver" );
cn = DriverManager.getConnection( "jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd );
4. Sybase(http://jtds.sourceforge.net)jconn2.jar ;
Class.forName( "com.sybase.jdbc2.jdbc.SybDriver" );
cn = DriverManager.getConnection( "jdbc:sybase:Tds:MyDbComputerNameOrIP:2638", sUsr, sPwd );
// (Default-Username/Password: "dba"/"sql")
5. Microsoft SQLServer(http://jtds.sourceforge.net) ;
Class.forName( ......
JavaÊÇÓÉSUN Microsystem¹«Ë¾¿ª·¢µÄ¡¢ÓÉC++·¢Õ¹¶øÀ´µÄÒ»ÖÖÃæÏò¶ÔÏóµÄͨÓóÌ
ÐòÉè¼ÆÓïÑÔ¡£Java²¢²»ÊÇרÃÅΪInternet¶ø¿ª·¢µÄ£¬µ«ËüµÄ³öÏÖµÄȷΪInternetºÍWWW
¿ª±ÙÁËÒ»¸öոеÄʱ´ú¡£Ëü¾ßÓÐÒÔÏÂÒ»Ð©ÌØµã£»¼òµ¥¡¢ÃæÏò¶ÔÏó¡¢·Ö²¼Ê½¡¢Ç¿×³¡¢°²È«¡¢
Óë²Ù×÷ƽ̨Î޹ء¢¸ßÐÔÄÜ¡¢¶àÏß³ÌÒÔ¼°¶¯Ì¬ÐÔ¡£ ......
package com.color.program;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class CompareTime {
public static void main(String[] args){
String t1 = "2008-05-09";
String t2 = "2008-5-13";
try {
System.out.println(CompareTime.getBetweenDays(t1, t2));
} catch (ParseException e) {
e.printStackTrace();
}
}
/**
* È¡µÃÁ½¸öʱ¼ä¶ÎµÄʱ¼ä¼ä¸ô
* return t2 Óët1µÄ¼ä¸ôÌìÊý
* throws ParseException Èç¹ûÊäÈëµÄÈÕÆÚ¸ñʽ²»ÊÇ0000-00-00 ¸ñʽÅ׳öÒì³£
*/
public static int getBetweenDays(String t1,String t2) throws ParseException{
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
int betweenDays = 0;
Date d1 = format.parse(t1);
Date d2 = format.parse(t2);
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(d1);
c2.setTime(d2);
// ±£Ö¤µÚ¶þ¸öʱ¼äÒ»¶¨´óÓÚµÚÒ»¸öʱ¼ä
if(c1.after(c2)){
c1 = c2;
c2.setTime(d1) ......
Ò»£¬Ï̵߳ÄËĸöÖ÷ÒªÖÜÆÚ״̬ÊÇ“´´½¨”£¬“¿ÉÖ´ÐД£¬“·Ç¿ÉÖ´ÐД£¬“ÏûÍö”£¬×´Ì¬×ª»»¹ØÏµÈçÏÂͼ£º
£¨1£©´´½¨¡£µ±ÊµÀý»¯Ò»¸öthread¶ÔÏó²¢Ö´ÐÐstart()·½·¨ºó£¬Ï߳̽øÈë“¿ÉÖ´ÐД״̬¿ªÊ¼Ö´ÐС£ËäÈ»¶àÏ̸߳øÓû§Ò»ÖÖͬʱִÐеļÙÏ󣬵«ÊÂʵÉÏÔÚͬһʱ¼äµãÄÚ£¬Ö»ÓÐÒ»¸öÏß³ÌÔÚÖ´ÐУ¬Ö»ÊÇÏß³ÌÖ®¼äÇл»µÄ¶¯×÷·Ç³£¿ì£¬ËùÒÔ¿´ÆðÀ´¸úͬʱִÐÐÒ»Ñù¡£
£¨2£©¿ÉÖ´ÐС£µ±Ïß³ÌÆôÓÃstart()·½·¨Ö®ºó£¬½øÈë“¿ÉÖ´ÐД״̬£¬Ö´ÐÐÓû§¸²Ð´µÄrun·½·¨¡£µ±Ò»¸öÏ߳̽øÈë“¿ÉÖ´ÐД״̬Ï£¬²¢²»´ú±íËü¿ÉÒÔÒ»Ö±Ö´Ðе½run()½áÊø¡£ÒòΪÊÂʵÉÏËüÖ»ÊǼÓÈë´ËÓ¦ÓóÌÐòÖ´Ðа²ÅŵĶÓÁÐÖУ¬ÕýÔڵȴý·ÖÏíCPU×ÊÔ´£¬Ò²¾ÍÊǵȺòÖ´ÐÐȨ£¬ÔÚºÎʱ¸øÓèÏß³ÌÖ´ÐÐȨ£¬ÔòÓÉJAVAÐéÄâ»ú¾ö¶¨£¬Í¬Ê±Ò²ÓÉÏ̵߳ÄÓÅÏȼ¶¾ö¶¨¡£
£¨3£©·Ç¿ÉÖ´ÐС£ÔÚ“¿ÉÖ´ÐД״̬Ï£¬Ï߳̿ÉÄÜÖ´ÐÐÍê±Ï£»Ò²¿ÉÄÜûÓÐÖ´ÐÐÍê±Ï£¬´¦ÓڵȴýÖ´ÐÐȨµÄ¶ÓÁÐÖУ¬´ËʱÏ߳̽øÈë“·Ç¿ÉÖ´ÐД״̬¡£¿ÉÒÔʹÓÃthreadÀàÖеÄwait()£¬sleep()·½·¨Ê¹Ï߳̽øÈë“·Ç¿ÉÖ´ÐД״̬¡£
µ±Ï߳̽øÈë“·Ç¿ÉÖ´ÐД̬£¬CPU¾Í²»·ÖÅ ......
2009Äê08ÔÂ12ÈÕ ÐÇÆÚÈý 10:31 A.M.
Éú³É¾²Ì¬Ò³Ãæ¼¼Êõ½â¾ö·½°¸Ö®Ò»
×ªÔØÕßǰÑÔ£ºÕâÊÇÒ»¸öÈ«ÃæµÄjsp¶¯Ì¬Ò³Ã澲̬»¯·½°¸£¬±¾Õ¾µÄÌû×Ó¾²Ì¬»¯·½°¸½«½è¼øÕâÆªÌû×ÓÖз½·¨¡£Ïòhttp://www.agilejava.orgµÄsingleµÄ¹²Ïí¾«ÉñÖ¾´¡£
תÌûÕýÎÄ£º
ÏàÐźܶàÈ˶¼Ï£Íû×Ô¼ºµÄÒ³ÃæÔ½¿ìÔ½ºÃ£¬×îºÃÊÇÄܾ²Ì¬µÄ£¬Ìá¸ß¿Í»§·ÃÎÊËÙ¶È¡£Ò²±ãÓÚËÑË÷ÒýÇæËÑË÷¡£ËùÒÔ£¬¾ÍÏ£ÍûÎÒÃǵĶ¯Ì¬¶ÁÈ¡Êý¾Ý¿âµÄÒ³Ãæ£¬¾¡¿ÉÄܵÄÉú³É¾²Ì¬Ò³Ãæ¡£Ò»ÏÂϵÁÐÎÄÕ£¬½éÉÜһϸöÈ˵Ľâ¾ö·½°¸¡£
±¾ÏµÁн«½éÉܸöÈ˵ÄÒ»ÖÖ·½·¨£¬ÔÚ²»¸Ä±äÔÀ´jspÎļþµÄ»ù´¡ÉÏ£¬Ö»ÐèÒª¼ÓÈëÉÙÁ¿µÄ´úÂ룬¾ÍÈÃÄãµÄÐÂÎÅ·¢²¼ÏµÍ³£¬ºÜÈÝÒ×¾ÍÍêÈ«±ä³É¾²Ì¬µÄÒ³Ãæ¡£
±¾ÎļÙÉèÄãÊÇÓÃjava¿ª·¢µÄweb¶¯Ì¬Ò³Ãæ¡£
µÚÒ»²½£¬¼ÓÈëservlet.´úÂëÈçÏ¡£
public class ToHtml extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse resp ......