Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
´ÓÆóÒµ¼¶¼Ü¹¹µ½»¥ÁªÍø¼Ü¹¹Ç¨ÒƵŤ³Ìʵ¼ù
 
×÷ÕߣºÐÜТÅô À´Ô´£ºÎ¢ÐŹ«ÖںŠÖÐÉú´ú¼¼Êõ  ·¢²¼ÓÚ£º 2016-12-15
  1673  次浏览      27
 

ÕªÒª£º Ëæ×ÅÒµÎñµÄ¿ìËÙÔö³¤£¬Ò»¸öÏßÉϽ»Ò×ϵͳÔÚÓÐÏÞµÄʱ¼äÄÚ£¬²»µ«ÐèҪά³ÖÏßÉÏϵͳµÄÎȶ¨£¬»¹ÒªÖ§³ÅÐÂÐèÇóµÄ¿ª·¢£¬·ñÔò½«ÓÉÓÚ¼¼ÊõÖ§³Å²»Àû´íʧҵÎñ·¢Õ¹¹Ø¼üʱ¼ä´°¿Ú¡£±¾ÎÄ·ÖÏíÁËÒ»´Î´ÓÆóÒµ¼¶¼Ü¹¹µ½»¥ÁªÍø¼Ü¹¹Ç¨ÒƵŤ³Ìʵ¼ù¡£

Òò¹¤×÷±ä¶¯½ÓÊÖÁËÒ»¸öÔÆÆ½Ì¨¸ÄÔìÏîÄ¿£¬¸ÃÏîÄ¿ÊôÓÚ¼º¾­ÉÏÏßÇÒÿÔÂÓдóÁ¿½»Ò×¶©µ¥µÄÔÆÆ½Ì¨£¬Ö®Ç°²ÉÓõÄÊÇSpringMVC+Hibernate+FreeMarker+MySql¼Ü¹¹£¬¼¯webǰ¶ËºÍ½Ó¿ÚΪһÌå¡£¾­¹ý¶ÔÒµÎñÔö³¤Ç÷ÊÆµÄÆÀ¹À£¬Ô¤¼Æ½«ÔÚÊýÔÂÖ®ºóÎÞ·¨Ö§³ÅÔ­ÓÐÒµÎñµÄÔö³¤¡£

µ±Ç°¼Ü¹¹Ö÷Òª´æÔÚÈçÏÂÎÊÌ⣺

1¡¢À©Õ¹Î¬»¤À§ÄÑ

2¡¢ÐÔÄÜÖð½¥»ºÂý¡£

Ëæ×ÅÒµÎñµÄ¿ìËÙÔö³¤±ÆÆÈÎÒÃǶÔÏÖÓмܹ¹½øÐÐÖØ¹¹¡£ÓÉÓÚÊÇÏßÉϽ»Ò×ϵͳ£¬Áô¸öÎÒÃǸÄÔìµÄʱ¼ä·Ç³£ÓÐÏÞ£¬²»µ«ÐèҪά³ÖÏßÉÏϵͳµÄÎȶ¨»¹ÒªÖ§³ÅÐÂÐèÇóµÄ¿ª·¢£¬·ñÔò½«ÓÉÓÚ¼¼ÊõÖ§³Å²»Àû´íʧҵÎñ·¢Õ¹¹Ø¼üʱ¼ä´°¿Ú£¬»ùÓÚÎñʵµÄÔ­ÔòÎÒÃÇÖÆ¶¨Èçϲ½Öè½øÐÐÖ𲽸ÄÔì¡£

Ò»¡¢È¥hibernateÇ¨ÒÆÖÁmybatis

´ÓhibernateÇ¨ÒÆÖÁmybatis£¬ DAO²ã»ù±¾ÉÏÐèÒªÖØÐ´Ò»±é£¬ÆäÖÐÖ÷Òª¹¤×÷Á¿ÎªÀí½âÔ­hibernate DAO²ãÂß¼­²¢·­Òë³Ésql£¬Ö÷ÒªÊÇϸÐĻÆäÖÐÐèҪעÒâµÄÊÇmybatis¶¯Ì¬±íÃûµÄ´«È룬ÐèÒª½«mapperµÄstatementTypeÀàÐÍÐÞ¸ÄΪSTATEMENT£¬²¢½«SQLÓï¾äÖÐ#{}¶¼¸ÄΪ${}¡£ÔÚʹÓÃ${}´«²Î¹ý³ÌÖУ¬ÐèÒªÌØ±ð×¢ÒâSQL×¢Èë¹¥»÷ΣÏÕ¡£Ò»°ã»áÔÚSpringMVC²ã½«Ãô¸Ð×Ö·ûתÒå¡£±ÈÈç ">" Óá°>¡±±íʾ£¬ÍøÉÏÓкܶà·â×°º¯Êý£¬»òÕßapache common lang°üµÄStringEscapeUtils.escapeHtml()¡£

¶þ¡¢È¡µôsqlÖ®¼äµÄ±í¹ØÁª

È¥µôsqlÖ®¼äµÄ±í¹ØÁª£¬´«Í³¹ØÏµÐÍÊý¾Ý¿âÀíÂÛÖеÄÈý·¶Ê½ÔÚ»¥ÁªÍøµÄÊý¾Ý¿âÄ£ÐÍÖÐÊDz»ÊÊÓõģ¬Ö÷ÒªÔì³ÉµÄÎÊÌâÊÇÎÞ·¨½øÐзֱí·Ö¿â¡£Õâ¾ÍÒªÇóËùÓÐdao·½·¨±ØÐë±£³Öµ¥±í²Ù×÷¡£

±£³Öµ¥±í²Ù×÷Ϊ·Ö±í¸ÄÔìµì¶¨Á˸ÄÔì»ù´¡¡£

Èý¡¢Service²ã¶ÔÔ­×ÓDAOÒµÎñÂß¼­½øÐÐ×é×°

ÔÚÈ¡µô±í¹ØÁªºóÐèÒª¸ÄÔìËùÓÐʵÌå½á¹¹¡£Ê×ÏÈÈ¡µôʵÌåÖ®¼äµÄÒ»¶ÔÒ»£¬¶à¶ÔÒ»£¬¶à¶Ô¶à¹ØÁª¹ØÏµ£¬½«ÊµÌåÖ®¼äµÄÒýÓùØÏµÐÞ¸ÄΪ¶ÔʵÌåIDµÄÒýÓá£Í¬Ê±ÎªÁËÉϲ㷽±ãʹÓÃÐèÒªÒýÈëÒµÎñBO¶ÔÏó£¬ÔÚservice²ãµ÷Óöà¸öÔ­×ÓµÄdao·½·¨²¢×é×°³ÉÒµÎñBO¶ÔÏó¡£

ËÄ¡¢·Ö±í

ÔÚµ¥ÕÅ±í³¬¹ý2000ÍòÌõ¼Ç¼ºó£¬mysqlµÄ²éѯÐÔÄÜ¿ªÊ¼½µµÍ£¬±í±ä¸ü×ֶεȴýʱ¼äÂþ³¤¡£·Ö±íºóÌáÉýÐÔÄܺÍÀ©Õ¹ÐÔºóÓÖ´øµãÒÔÏÂÎÊÌ⣺

·ÓɲßÂÔµÄÑ¡Ôñ¡£

ÈçºÎ¸ù¾ÝÖ÷¼ü¡¢¶©µ¥ºÅµÈ·Óɵ½ÕýÈ·µÄ±í¡£

·Ö±íºó·ÖÒ³²éѯ

ÈçºÎ±£Ö¤ÉÏÏߺó·Ö±íÊý¾Ýƽ»¬´ÓÀÏ¿â¹ý¶Éµ½Ð¿⡣

1¡¢Â·ÓɲßÂÔµÄÑ¡Ôñ

Ê×ÏÈ£¬ÎÒÃǶÔÊý¾Ý¿âÖÐËùÓеıí¼Ç¼½øÐзÖÎö£¬Í³¼ÆÃ¿ÕűíµÄÊý¾ÝÁ¿´óС¡£¾­¹ýͳ¼ÆºóÎÒÃÇ·¢ÏÖËæ×ÅÒµÎñµÄÔö³¤ÒµÎñÊý¾ÝÒ²»á¿ìËÙ½øÐÐÔö³¤µÄ±íÖ÷ҪΪ¶©µ¥±í¡¢¶©µ¥Ã÷ϸ±í¡£ÆäËüµÄ±íÔÚ½üÁ½ÄêÄÚ²¢²»»áËæ×ÅÒµÎñµÄÔö³¤¶ø¿ìËÙÔö³¤¡£ËùÒÔÖ»ÐèÒª¶Ô¶©µ¥±í¡¢¶©µ¥Ã÷ϸ±í½øÐвð·Ö¡£

·ÓɲßÂÔÑ¡Ôñ²»¿ÉÄÜ×öµ½ÍêÃÀ£¬ÊÀ½ç±¾À´Ò²ÊDz»ÍêÃÀµÄ£¬¹Ø¼üÊÇÔÚºÏÊʵĽ׶ÎÑ¡ÔñºÏÊʵIJßÂÔ£¬¼´ÄÜÂú×ãÉÌÒµÕ½ÂÔʱ¼ä´°¿ÚµãÓÖÄÜÔÚ×·Çó¼¼ÊõÍêÃÀÐÍÖÐѰÕÒÆ½ºâµã¡£ÎÒÃÇÔ¤²âÁËÒµÎñ½ü5ÄêµÄ·¢Õ¹Ä¿±êΪÏÖÓÐÒµ5±¶µÄÔö³¤£¬·¢ÏÖ°´Ô½øÐвð·Ö¿ÉÒÔ±£Ö¤Ã¿ÔÂÊý¾ÝÁ¿¾ùµÍÓÚ2000ÍòÌõ£¬»ùÓÚÎñʵµÄÔ­ÔòÎÒÃÇÑ¡ÔñÁ˰´Ô½øÐзֱíµÄ·ÓɲßÂÔ¡£

¾­¹ý¶à·½Ã濼ÂÇÔÚÄܹ»¼æ¹ÌЧÂʺͽµµÍ¸ÄÔ츴ÔӶȵÄ˼·Ìá³öÀÏÊý¾ÝÀϰ취£¬ÐÂÊý¾Ýа취¡£ÀÏÊý¾ÝÖеÄÖ÷¼ü¼º¾­Éú³É£¬Èç¹û°´ÐµÄÖ÷¼ü²ßÂÔÖØÐÂÉú³É£¬»áÇ£³¶µ½ËùÓйØÁª±íÖеÄID¶¼ÐèÒª½øÐÐÌæ»»£¬ÕâÑù»áÔö¼Ó¸ÄÔìµÄ¸´ÔӶȺ͹¤×÷Á¿£¬ËùÒÔ×îÖÕ¿¼Âǽ«ÐÂÊý¾Ý°´ÕÕеÄÖ÷¼üÉú³É²ßÂÔ½øÐÐÉú³É¡£µ±°´Ô·ֱíÈÔ²»ÄÜÂú×ãÒµÎñÖ§³ÖÒªÇóʱ£¬¿ÉÒÔÔÙ´ÎÒÔÈÕÐÅÏ¢¼ÆËã¸üϸÁ£¶ÈµÄ²ð·Ö²ßÂÔ£¬ÀýÈç¿É°´ÖÜΪµ¥Î»½øÐбíÕÛ·Ö¡£

2¡¢¸ù¾ÝÖ÷¼ü»ò¶©µ¥ºÅÑ¡ÔñÕýÈ·µÄ±í

Ö÷¼üµÄÉú³ÉËã·¨ ×ÔÔöIDµÄÉú³É£¬²Î¿¼twitter SnowflakeËã·¨

ÔÚJavaÓïÑÔϵͳÖУ¬¿ÉÒÔͨ¹ýLongÀ´±íʾÖ÷¼ü£¬LongÀàÐͰüº¬64¸ö룬ÕýºÃ¿ÉÒÔ´æ´¢¸ÃID£¬ 1ÖÁ41λµÄ¶þ½øÖÆÊýÖµÓÃÀ´±íʾÈÕÆÚʱ¼ä´Á£¬43ÖÁ53λ¿ÉÒÔ±íʾ1024̨Ö÷»ú£¬ÎÒÃÇ¿ÉÒÔΪÿ̨API·þÎñÆ÷·ÖÅäÒ»¸ö¹¤×÷»úÆ÷ID£¬43ÖÁ55λ¿ÉÒÔÉú³ÉÏß³ÌΨһµÄÐòÁкš£Ô¤ÁôµÄ¹¤×÷»úÆ÷ID¿ÉÒÔ×÷ΪÄϱ±Ë«»î»ú·¿µÄ·ÓÉÅжÏÌõ¼þ£¬Èç1,2,3,4ºÅ¹¤×÷»úÆ÷ID·Óɵ½±±»ú·¿API·þÎñÆ÷£¬5,6,7,8¹¤×÷»úºÅID·Óɵ½ÄÏ»ú·¿API·þÎñÆ÷¡£

µ±°´¶©µ¥ºÅ²éѯʱϵͳÊ×Ïȸù¾Ý¶©µ¥ºÅ³¤¶ÈµÄ²»Í¬£¬À´Ñ¡ÔñÊÇ·Óɵ½ÐµÄÇзֶ©µ¥±í£¬»¹ÊÇ·Óɵ½Ô­¶©µ¥±í¡£ÒòΪÐÂÖ÷¼üID»á°üº¬ÈÕÆÚÐÅÏ¢£¬ÏµÍ³»á¸ù¾ÝÖ÷¼ü½â¶Á³öÈÕÆÚÐÅÏ¢£¬¸ù¾ÝÔ·ݵIJ»Í¬À´Ñ¡Ôñ¸ÃÊý¾Ý¿â¶ÔÓ¦µÄÔÂ·Ý±í£¬Èç¹û¶ÁÈ¡²»³öÈÕÆÚÐÅÏ¢¾Í¿ÉÒÔÅжϳöΪԭ¶©µ¥±í¡£

3¡¢ÈçºÎ±£Ö¤ÉÏÏߺó·Ö±íÊý¾Ýƽ»¬´ÓÀϱí¹ý¶Éµ½Ð±í

Ê×ÏÈϵͳÅäÖÃͳһµÄ·Ö±íÇиîʱ¼ä¹«¹²±äÁ¿£¬ÔÚ²åÈë¶©µ¥Ê±ÏÈÅжÏÊÇ·ñÔÚ·Ö±íÇл»Ê±¼äµã֮ǰ£¬Èç¹ûÔÚ·Ö±íÇл»Ê±¼äµã֮ǰÔò½«¶©µ¥Êý¾Ý²åÈëµ½ÀÏ±í£¬·ñÔò½«¶©µ¥Êý¾Ý°´µ±Ç°Ô·ݲ»Í¬²åÈ뵽еIJð·ÖÔÂ±í¡£

4¡¢·Ö±íºó·ÖÒ³²éѯ

ÔÚ¶©µ¥·Ö±íºó´æÔÚµÄÖ÷ÒªÄѵãÊÇ·Ö±íºóÊý¾ÝµÄ·ÖÒ³²éѯ²Ù×÷¡£¼ÙÉèÒÔ2016-07-26 00:00:01 ¿ªÊ¼°´ÔÂ·Ö±í£¬²éѯ2016-05-01 00:00:01ÖÁ2016-09-11 12:00:05ÆÚ¼äµÄËùÓж©µ¥·Ö½âΪÈçϼ¸²½£º

£¨1£©Í¨¹ý¿ªÊ¼Ê±¼ä¡¢½áÊøÊ±¼ä¡¢·Ö±íʱ¼ä¼ÆËã³öÐèÒªµÄ·ÓÉÐÅÏ¢¼¯ºÏ¡£

a.¸ñʽ:±íÃû|ÆðʼÈÕÆÚ|½áÊøÈÕÆÚ

b.·Óɼ¯ºÏ£º

Order|2016-05-01 00:00:01|2016-07-26 00:00:01

Order_2016_07|2016-07-26 00:00:01|2016-07-01 23:59:59

Order_2016_08|2016-08-01 00:00:01|2016-08-31 23:59:59

Order_2016_09|2016-09-01 00:00:01|2016-09-11 23:59:59

£¨2£©°´·ÖÒ³ÐÅÏ¢£¨pageNo,pageSize£©¼°Â·ÓÉÐÅÏ¢¼¯ºÏ²éѯ¶©µ¥»ù±¾ÐÅÏ¢¼¯ºÏ¡£

a.±éÀú·Óɼ¯ºÏ·µ»Ø×ܼǼÊý¼°±í¸ÅÀ¨ÐÅÏ¢¼¯ºÏ¡£

i. ±í¸ÅÀ¨ÐÅÏ¢¶¨Ò壺±íÃû¡¢ÆðʼÐÐÊý¡¢¼Ç¼Êý¡¢Â·ÓÉÐÅÏ¢£»

ii. ±í¸ÅÀ¨ÐÅÏ¢¼¯ºÏ£º

Order¡¢1¡¢137¡¢Order|2016-05-0100:00:01|2016-07-26 00:00:01
Order_2016_07¡¢137¡¢10¡¢Order_2016_07|2016-07-2600:00:01
|2016-07-01 23:59:59
Order_2016_08¡¢147¡¢32¡¢2016-08-0100:00:01|2016-08-31 23:59:59
Order_2016_09¡¢179¡¢10¡¢2016-09-0100:00:01|2016-09-11 23:59:59

 

iii. ·½·¨ÃèÊö:

private RouteTableResult getRouteTableResult
(OrderSearchModel searchModel,List<String> routeTables) {

Integer sumRow = new Integer(0);

Map<String, RouteTable> routeTableCountMap = new TreeMap<String,RouteTable>();

RouteTableResult routeTableResult = new RouteTableResult();

for (String routeTable : routeTables) {

String[] routeTableArray = routeTable.split("\\|");

if (routeTableArray.length == 3) {

String tableName =getTableByRouteTableAndSetSearchModel(searchModel, routeTableArray);

Integer orderCount = ticketOrderDao.searchOrderCount(tableName,searchModel);

Integer startIndex = sumRow.intValue();

RouteTable routeInfo = new RouteTable(startIndex, orderCount, routeTable);

routeTableCountMap.put(tableName, routeInfo);

sumRow += orderCount;

}

}

routeTableResult.setRouteTableCountMap(routeTableCountMap);

routeTableResult.setSumRow(sumRow);

returnrouteTableResult;

}

b.¸ù¾Ý·ÖÒ³ÐÅÏ¢£¬²éѯ³ö¸Ã·ÖÒ³ÐèÒª¿çÔ½µÄ±í·ÓÉÐÅÏ¢¼¯ºÏ£¬¾ßÌåËã·¨ÈçÏ£º

i. ±éÀú¸ÅÀ¨ÐÅÏ¢¼¯ºÏ

ii. µ±¿ªÊ¼ÐкͽáÊøÐÐÓ뵱ǰ·ÓÉÇø¼äÓн»¼¯Ôò˵Ã÷ÓÐÊý¾ÝÔڸñíÄÚ²¢½«¸Ã±í¼ÓÈë±éÀú·Óɼ¯ºÏ£»

iii. Èç¹û·ÓɱíÐÅÏ¢¼¯ºÏÖÐÓÐÊý¾ÝÇÒ²»Âú×ãÉÏÊöÌõ¼þÔòÍ˳ö£»

iv. ·µ»ØÐèÒª¿çÔ½µÄ±í·ÓÉÐÅÏ¢¼¯ºÏ£»

v. ·½·¨ÃèÊö£º

private List<String> getRouteTables
(OrderSearchModel searchModel,Map<String,RouteTable>
routeTableCountMap) {

List<String> routeTableInfoList = new ArrayList<String>();

Integer startIndex = (searchModel.getPageNo() - 1) * searchModel.getPageSize();

Integer endIndex = startIndex + searchModel.getPageSize() -1;

for (Entry<String, RouteTable> entry :
routeTableCountMap.entrySet()) {

RouteTable routeTable = entry.getValue();

//µ±¿ªÊ¼ÐкͽáÊøÐÐÓëµ±¼ä·ÓÉÇøÓн»¼¯

if( !(startIndex > routeTable.getEndIndex()) && !(endIndex < routeTable.getStartIndex())){

routeTableInfoList.add(routeTable.getRouteInfo());

//Èç¹û·ÓɱíÐÅÏ¢¼¯ºÏÖÐÓÐÊý¾ÝÇÒ²»Âú×ãÉÏÊöÌõ¼þÔòÍ˳ö

}elseif (routeTableInfoList.size()>0) {

break;

}

}

returnrouteTableInfoList;

}

c.²éѯ¸Ã·ÖÒ³ÏµĶ©µ¥ÁÐ±í£¬¾ßÌåËã·¨ÈçÏ£º

i.Ê×ÏÈÉèÖÃ×îºóÒ»´Î±éÀúµÄ±íΪÐèÒª¿çԽ·ÓÉÐÅÏ¢¼¯ºÏµÄµÚÒ»ÕÅ±í£»

ii.ÉèÖüº¶ÁÌõÊýreadCountµÈÓÚ0£»

iii.±éÀúÐèÒª¿çԽ·ÓÉÐÅÏ¢¼¯ºÏ£»

iv. ¸ù¾Ý·ÓÉÐÅÏ¢·µ»Ø±íÃû¼°ÉèÖÃËÑË÷Ìõ¼þ£»

v. ¸ù¾Ý±íÃû»ñȡ·ÓɸÅÒªÐÅÏ¢£»

vi.¼ÆË㿪ʼÐкţ¬Èç¹ûµ±Ç°±íÃûºÍ×îºó±éÀúµÄ±íÃûÏàͬ£¬Ôò¿ªÊ¼ÐкŵÈÓÚ(µ±Ç°µÄÒ³Êý-1)*Ô­ÇëÇóÒ³Ãæ´óС(originalPageSize)-µ±Ç°±í·ÓɸÅÒªÐÅÏ¢ÆðʼÐУ¬·ñÔò¿ªÐкÅÉèÖÃΪ0£»

vii. ¼ÆËãµ±Ç°Ò³Ãæ´óСpageSizeΪԭÇëÇóÒ³Ãæ´óС(originalPageSize) ¨C ¼º¶ÁÌõÊý(readCount)£»

viii. ÉèÖÃËÑË÷Ìõ¼þÆðʼÐкš¢µ±Ç°Ò³Ãæ´óС£»

ix.ÉèÖÃ×îºóÒ»´Î±éÀúµÄ±íΪµ±Ç°±í£»

x.¸ù¾Ýµ±Ç°±íÃû¡¢ËÑË÷Ìõ¼þµ÷ÓÃdao·µ»Ø¶©µ¥»ù±¾ÐÅÏ¢ÁÐ±í£¬²¢¼ÓÈë¶©µ¥×ÜÁÐ±í¼¯ºÏ£»

xi.¼º¶ÁÊýÔö¼Óµ±Ç°¶©µ¥Áбí´óС£»

xii. Èç¹û¼º¶ÁÊý´óÓÚµÈÓÚÔ­ÇëÇóÒ³Ãæ´óСÔòÌø³öÑ­»·£¬·ñÔò¼ÌÐøÑ­»·£»

xiii.·µ»Ø¶©µ¥×ÜÁÐ±í¼¯ºÏ£»

xiv. ·½·¨ÃèÊö£º

private List<Order> getOrderListByRoutePageTable
(OrderSearchModelsearchModel,

Integer originalPageSize, Map<String, RouteTable> routeTableCountMap,

List<String> routePageTables) {

Integer readCount = 0;

List<Order> orderList = new ArrayList<Order>();

if (routePageTables != null && routePageTables.size() > 0) {

String[] routeTableArrayFirst = routePageTables.get(0).split("\\|");

String lastTableName = null ;

if (routeTableArrayFirst.length == 3) {

lastTableName = routeTableArrayFirst[0];

}

for (String routeTable : routePageTables) {

String[] routeTableArray = routeTable.split("\\|");

if (routeTableArray.length != 3) {

break;

}

String tableName =
getTableByRouteTableAndSetSearchModel(searchModel, routeTableArray);

RouteTable routeTableInfo = routeTableCountMap.get(tableName);

Integer startRow = 0;

if( tableName.equals(lastTableName)){

startRow = (searchModel.getPageNo()-1)*originalPageSize - routeTableInfo.getStartIndex();

}

Integer pageSize = originalPageSize - readCount;

searchModel.setStartRow(startRow);

searchModel.setPageSize(pageSize);

lastTableName = tableName;

List<Order> orderListPage = orderDao.searchOrderList(tableName,searchModel);

orderList.addAll(orderListPage);

readCount += orderListPage.size();

if (readCount.intValue() >= originalPageSize) {

break;

}

}

}

returnorderList;

}

£¨3£©¸ù¾ÝOrder¼¯ºÏ×é×°OrderBo¼¯ºÏ

£¨4£©¸ù¾Ý·µ»ØµÄ×ÜÊý¼°·ÖÒ³ÐÅÏ¢×é×°·ÖÒ³½á¹û

Îå¡¢mysqlÖ÷´Ó·ÖÀë¡¢ÒýÈëÈý¼¶»º´æ

ΪÁËÌá¸ßÐÔÄÜ£¬Ê×ÏÈÅäÖÃmysqlÖ÷´Ó·ÖÀ룬ͨ¹ýSpring¶àÊý¾ÝÔ´À´ÊµÏÖ¶¯Ì¬Çл»¡£Èý¼¶»º´æÖ÷Òª·ÖΪ£º£¨1£©¡¢Ï̼߳¶£ºµ±Í¬Ò»Ïß³ÌÇëÇóʱ£¬Ï̼߳¶»º´æ°ó¶¨ÔÚÏ̼߳äThreadLocal±äÁ¿ÉÏ£¬¿ÉÒÔ½µµÍÏ̼߳äÇл»Ôì³ÉµÄʱ¼ä¿ªÏú¡£(2)¡¢½ø³Ì¼¶£º½ø³Ì¼¶»º´æÔÚͬһjvmÖй²Ïí»º´æ£¬¼õËÙÉÙ¿ç½ø³Ì¼äÍøÂ翪Ïú¡££¨3£©¡¢¿ç½ø³ÌµÄ¼¯ÖÐʽ»º´æ£ºÒ»°ãʹÓÃredis¡¢memcacheÄڴ滺´æÀ´½µµÍ¶ÔÊý¾Ý¿âϵͳµÄ³å»÷¡£ÔÚ×öÍêÒÔÉÏÓÅ»¯ºó£¬ÎÒÃǵĽӿÚÏìÓ¦ËÙ¶ÈÌá¸ßÁ˽ü5±¶¡£

Áù¡¢½áÊøÓï

¹ØÓÚ·Ö²¼Ê½·þÎñ»¯¡¢ÒìµØÄϱ±»ú·¿Ë«»î£¬ÕâÀïÁô¸ö×÷Òµ£¬ÈÕºó³ÉÎĺʹó¼Ò·ÖÏí¡£

   
1673 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

ÆóÒµ¼Ü¹¹¡¢TOGAFÓëArchiMate¸ÅÀÀ
¼Ü¹¹Ê¦Ö®Â·-ÈçºÎ×öºÃÒµÎñ½¨Ä££¿
´óÐÍÍøÕ¾µçÉÌÍøÕ¾¼Ü¹¹°¸ÀýºÍ¼¼Êõ¼Ü¹¹µÄʾÀý
ÍêÕûµÄArchimateÊÓµãÖ¸ÄÏ£¨°üÀ¨Ê¾Àý£©
Ïà¹ØÎĵµ

Êý¾ÝÖÐ̨¼¼Êõ¼Ü¹¹·½·¨ÂÛÓëʵ¼ù
ÊÊÓÃArchiMate¡¢EA ºÍ iSpace½øÐÐÆóÒµ¼Ü¹¹½¨Ä£
ZachmanÆóÒµ¼Ü¹¹¿ò¼Ü¼ò½é
ÆóÒµ¼Ü¹¹ÈÃSOAÂ䵨
Ïà¹Ø¿Î³Ì

ÔÆÆ½Ì¨Óë΢·þÎñ¼Ü¹¹Éè¼Æ
ÖÐ̨սÂÔ¡¢ÖÐ̨½¨ÉèÓëÊý×ÖÉÌÒµ
ÒÚ¼¶Óû§¸ß²¢·¢¡¢¸ß¿ÉÓÃϵͳ¼Ü¹¹
¸ß¿ÉÓ÷ֲ¼Ê½¼Ü¹¹Éè¼ÆÓëʵ¼ù

×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

Ïà¹ØÎÄÕÂ


ר¼ÒÊӽǿ´ITÓë¼Ü¹¹
Èí¼þ¼Ü¹¹Éè¼Æ
ÃæÏò·þÎñÌåϵ¼Ü¹¹ºÍÒµÎñ×é¼þ
ÈËÈËÍøÒÆ¶¯¿ª·¢¼Ü¹¹
¼Ü¹¹¸¯»¯Ö®ÃÕ
̸ƽ̨¼´·þÎñPaaS

Ïà¹ØÅàѵ¿Î³Ì


ÃæÏòÓ¦Óõļܹ¹Éè¼ÆÊµ¼ù
µ¥Ôª²âÊÔ+ÖØ¹¹+Éè¼ÆÄ£Ê½
Èí¼þ¼Ü¹¹Ê¦¡ª¸ß¼¶Êµ¼ù
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ¡ª¸ß¼¶Êµ¼ù
SOAÌåϵ½á¹¹Êµ¼ù

³É¹¦°¸Àý


Èñ°²¿Æ¼¼ Èí¼þ¼Ü¹¹Éè¼Æ·½·¨
³É¶¼ ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
ÉϺ£Æû³µ ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
±±¾© Èí¼þ¼Ü¹¹Éè¼Æ
ÉϺ£ Èí¼þ¼Ü¹¹Éè¼Æ°¸ÀýÓëʵ¼ù
±±¾© ¼Ü¹¹Éè¼Æ·½·¨°¸ÀýÓëʵ¼ù
ÉîÛÚ ¼Ü¹¹Éè¼Æ·½·¨°¸ÀýÓëʵ¼ù
ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ¡ª¸ß¼¶Êµ¼ù