ã¨ã³ãã£ãã£ã«è¤éãªããããã£ã使ç¨ããå ´åã ä¾ãã°ãåæåã ãã¼ãã«ã«ãããã³ã°ãããããã¼ã¿ãåæåã§ããå ´åã® iBATISã®å®ç¾©ã®ä»æ¹ã ã¾ããåæåã§ãªãã¦ããHnadlerãç»é²ããã°ãã»ã¼èªç±ãªãã¨ãã§ããã ä»åã¯ãiBATIS Wikiã«ããä¾ããã§ããå¤æ´ãã¦ã¿ãã How do I use a Custom Type Handler with complex property (Type Safe Enumeration) Reportã¨ãããã¼ãã«ããããã³ã°ããã ãã®ãã¼ãã«ã¯ãfrequencyã¨ããType Safe Enumerationãªããããã£ãå«ãã ãã¼ãã«å®ç¾©ï¼ CREATE TABLE REPORT ( ID VARCHAR(5), NAME VARCHAR(25), DESCRIPTION VARCHAR(1000), FREQUENC
ã¯ã©ã¹(Java) 㨠ãã¼ãã« (RDB) ã¨ã対å¿ããã¦ãããã«ããããã®ä¸ã§ã®é¢ä¿ã表ç¾ãããã¨ããã®ããããã Object/Relational ãããã³ã°ã®èãæ¹ã§ããããã ããããããã®ç´°ããªã¢ãã«ã®è¡¨ç¾ãã§ããããã§ãããå®ç¾æ¹æ³ãããã ãè¤éã«ã¯ãªãã¾ãã è¤é㪠SQL ã§è¡¨ããããã㪠RDB å´ã®ã¢ãã«ã«å¯¾ãã¦ã¯ãJava å´ã§ã®å®ç¾ãããã ãè¤éãªå½¢ã«ã¯ãªãã¾ãã iBATIS ã®å ´åãã¯ã©ã¹(Java) 㨠SQL ã®å®è¡çµæ (çµæã»ãã) ã¨ã®å¯¾å¿ãã¨å²ãåã£ã¦ãã¾ã£ã¦ããã®ã§ãã©ããªè¤é㪠SQL ã ããããããªã«è¤éã«ã¯ãªãã¾ããã çµæã»ããã¯å¿ ãã²ã¨ã¤ã®å¤ã®éåããããã¯ãã®å¤ã®éåã®ãªã¹ãã«ãªãã®ã§ãããã®å¤ããããã«å¯¾å¿ããã¯ã©ã¹ãä½ãã°ããããã§ãã極端ã«ç°¡åã«è¨ãã°ãSQL ã®å®è¡çµæã¯åä¸è¡(ã¹ã«ã©å¤) ãè¤æ°è¡ã®ãã¼ãã«ã¨è§£éã§ããã®ã§ã
AWSã¢ããã³ã¹ãã³ã³ãµã«ãã£ã³ã°ãã¼ããã¼ã®ä¸å¡ã¨ãã¦æ´»åããæ ªå¼ä¼ç¤¾ã¹ã¿ã¤ã«ãºããAWSå°å ¥ã移è¡ãéçºãã»ãã¥ãªãã£ãéç¨ä¿å®ãªã©ããã¹ã¦ã®ãç¸è«ã«ä¹ããã¦ããã ãã¾ãã AWSãå°å ¥ããããä½ããå§ããããããããããªã æ¢åã®ãã³ãã¼ãæ°æè¡ã«å¼±ããè¯ãææ¡ãããããªã ã¯ã©ã¦ãã®å°å ¥ã«ã»ãã¥ãªãã£ã®ä¸å®ããã AWSãã¨ããããå°å ¥ããããããã«æ´»ç¨ãã¦ãããã 社å ã«AWSã®ç¥è¦ãæã£ã¦ãã人ãããªã AWSãªãã§ã¯ã®ã·ã¹ãã éçºã詳ããç¥ããã
2009å¹´2æ22æ¥ Struts 2 + Spring 2 + iBATIS é£æºè¨å® æ°ããããã¸ã§ã¯ãã Struts 2.0 + Spring 2.0 + iBATIS 2.3 ã§çµããã¨ã«ããã®ã§ãåæã®é£æºè¨å®ã®ã¡ã¢ãæ®ãã¾ããEclipse (Ganymede) ã® Dynamic Web Project ã®ãã£ã¬ã¯ããªæ§é ãåæã«æ¸ãã¦ãã¾ãã æ¤è¨éä¸ã§ã¯ãStruts 2.0 + Guice 1.0 + JPA + Hibernate 3 (Core, Annotations, Entity Manager) ãèãã¾ããããJPA, Hibernate ã¯ããã®é£ãããåããã»ã©ä½¿ãè¾¼ãã§ã¯ããããåä½ã®è¦éãããããã©ãã«å¯¾å¿ã®çµé¨ããã iBATIS ã«ãã¾ãããiBATIS ã¯æçµçã«å®è¡ããã SQL ã確å®ã«ã³ã³ããã¼ã«ã§ãããã£ãã·ã¥ã®æ©æ§ãã·ã³ãã«ã§ã
ã¾ãã¯ãiBATISã§SELECTãå®è¡ããããã¨æãã¾ãã iBATISæ¬ä½ã®å ¥æ æ¬å®¶ãµã¤ãããDLãã¦ãã ããã ç¾å¨ï¼2009å¹´1æ8æ¥ï¼ã§ã¯ã2.3.4ãææ°ã«ãªã£ã¦ãã¾ãã ãã®ä»å¿ é Jarãã¡ ä»åã¯ãMySQLã«æ¥ç¶ããã®ã§ãMySQL Connectorãå¿ è¦ã§ãã ã¾ããJakartaã®DBCPãPoolã使ç¨ãã¦ã³ãã¯ã·ã§ã³ããã¼ã«ããã®ã§ã以ä¸ã®å¿ è¦ã§ãã Jakarta DBCP Jakarta Pool ããã°ããJarï¼ãã¶ãå¿ é ã ã¨æãï¼ ã¾ããå¿ é ã§ã¯ãªãã§ãããLog4jãããã¨ãiBATISãçºè¡ããSQLãè¦ããã¨ãã§ããã®ã§ãDLãã¦ããã¾ãããã Log4j â»Log4jã¯1.3ç³»ãã2.0ç³»ãããã¾ããã1.2ç³»ã§å ¨ç¶åé¡ãªãã®ã§ããã£ã¡ã使ãã¾ãããã ã¾ããtoStringç¨ã¨ãã¦ãCommons Langã®ToStringBuilderã
â ãã£ãã·ã¥ SqlMapConfig.xmlã«<settings> Elementãæ¸ããªã㨠ããã©ã«ãã§ã¯ãã£ãã·ã¥ã¯æå¹ã ãæå¹ã«ãªããªãã è¬ã ä»å使ç¨ããã½ã¼ã¹ ãããã³ã°ãã¡ã¤ã«ã§å®ç¾©ããã ï¼SqlMapXmlãã¡ã¤ã«ï¼ cacheModel idã»ã»ã»ID typeã»ã»ã»ãã£ãã·ã¥ã®ã¿ã¤ã flushIntervalã»ã»ã»ãã£ãã·ã¥ã®çåæéã 以ä¸ãè¨å®ã§ãã milliseconds seconds minutes hours flushOnExecute å®è¡ãããããã£ãã·ã¥ãã¯ãªã¢ããã¹ãã¼ãã¡ã³ãã®ID ããããã¯MEMORYããã ãã£ãã·ã¥ã®ã¿ã¤ã MEMORY ã¡ã¢ãªã¼ã®éã«å¿ãã¦ãã¯ãªã¢ããããããã ã¬ãã¼ã¸ã³ã¬ã¯ã¿ã«ä¾åãããã£ãã·ã¥ <cacheModel id="product-cache" type="MEMORY"> <flushInte
ã¯ããã« Apache iBATISã¯SQLãå©ç¨ãããã¨ã«æ³¨åãããã¬ã¼ã ã¯ã¼ã¯ã§ããé«æ©è½ãªO/Rãããã³ã°ãã¬ã¼ã ã¯ã¼ã¯ã«æ¯ã¹ã¦ç°¡åã«ç解ã§ããã¬ã¬ã·ã¼ãªJDBCãResultSetã使ã£ãããã°ã©ãã³ã°ããç°¡åã«ä¹ãæãããã¾ããç¹ã«SQLãå¤ç¨ãã人ã«ã¯ä½¿ãããããã¬ã¼ã ã¯ã¼ã¯ã§ãã ãã®è¨äºã¯ååãåã åã®è¨äºã®ç¶ç·¨ã§ããä»åã¯iBATISã®æ©è½ãæ¡å¼µããæ¹æ³ã¨ãã¦ãæ¤ç´¢çµæãCSVãã¼ã¿ã¨ãã¦åºåããæ¹æ³ã¨ããã¼ã¿ãã¼ã¹ã®ãã¼ã¿ããä»»æã®ãã¼ã¿åã«äº¤æããæ¹æ³ãç´¹ä»ãã¾ãã iBATISã®åºæ¬çãªå 容ã¯ã以åã®è¨äºãåèã«ãã¦ããã ããã¨åãããããã¨æãã¾ãã éå»ã®è¨äº iBATISã使ã£ãO/Rãããã³ã°ã«ããDBã¢ã¯ã»ã¹ã®å®ä¾ iBATISã使ã£ãO/Rãããã³ã°ã«ããDBã¢ã¯ã»ã¹ã®å®ä¾ 2 対象èªè Javaã®åºæ¬ããã¹ã¿ã¼ãã¦ãã人 SQLæãç解ãã¦ãã人 å¿ è¦
ã¯ããã« iBATISã¯SQLãå©ç¨ãããã¨ã«æ³¨åãããã¬ã¼ã ã¯ã¼ã¯ã§ããé«æ©è½ãªO/Rãããã³ã°ãã¬ã¼ã ã¯ã¼ã¯ã«æ¯ã¹ã¦ç°¡åã«ç解ã§ããã¬ã¬ã·ã¼ãªJDBCãResultSetã使ã£ãããã°ã©ãã³ã°ããç°¡åã«ä¹ãæãããã¾ãã ç¹ã«SQLãå¤ç¨ãã人ã«ã¯ä½¿ãããããã¬ã¼ã ã¯ã¼ã¯ã§ãã ãã®è¨äºã¯ååã®ãiBATISã使ã£ãO/Rãããã³ã°ã«ããDBã¢ã¯ã»ã¹ã®å®ä¾ãã®ç¶ç·¨ã§ããååã¯SELECTãINSERTãUPDATEãDELETEã®åºæ¬çãªè¨è¿°æ¹æ³ã«ã¤ãã¦ãµã³ãã«ãç´¹ä»ãã¾ãããä»åã¯SELECTæã«æ³¨ç®ããæ¤ç´¢çµæã®ãããã³ã°ã¨åçSQLã®è¨è¿°æ¹æ³ã«ã¤ãã¦èª¬æãã¾ãã iBATISã®åºæ¬çãªå 容ã¯ãååã®è¨äºãåèã«ãã¦ããã ããã¨ãåãããããã¨æãã¾ãã 対象èªè Javaã®åºæ¬ããã¹ã¿ã¼ãã¦ãã人 SQLæãç解ãã¦ãã人 å¿ è¦ãªç°å¢ iBATIS 2.3.0ãJ2SE 5.0ã®
ã¯ããã« iBATISã¯SQLãå©ç¨ãããã¨ã«æ³¨åãããã¬ã¼ã ã¯ã¼ã¯ã§ããé«æ©è½ãªO/Rãããã³ã°ãã¬ã¼ã ã¯ã¼ã¯ã«æ¯ã¹ã¦ç°¡åã«ç解ã§ããã¬ã¬ã·ã¼ãªJDBCãResultSetã使ã£ãããã°ã©ãã³ã°ããç°¡åã«ä¹ãæãããã¾ãã ç¹ã«SQLãå¤ç¨ãã人ã«ã¯ä½¿ãããããã¬ã¼ã ã¯ã¼ã¯ã§ãã SQLã¯ä½¿ããããJDBCã¯ä½ã¬ãã«ããã é«æ©è½ãªO/Rãããã³ã°ãã¬ã¼ã ã¯ã¼ã¯ã¯é£ãããã ã½ã¼ã¹ã³ã¼ãããSQLãåé¢ããããåçãªSQLã®å®è£ ãå¿ è¦ ãã®ãããªã±ã¼ã¹ã§ãiBATISã¯ç¹ã«æå¹ã§ãã æ¬è¨äºã§ã¯ãããããã®ãµã³ãã«ã½ã¼ã¹ã解説ãããã¨ã§ããiBATISã使ãã°ãããªé¢¨ã«æ¸ãããã¨ãããã¨ãåããããã«ãã¦ãã¾ããç°å¢è¨å®ããè¨å®ãã¡ã¤ã«ã«ã¤ãã¦ã®ç´°ãã説æã¯ç°¡ç¥åãã¦ããã¾ãã 対象èªè Javaã®åºæ¬ããã¹ã¿ã¼ãã¦ãã人 SQLæãç解ãã¦ãã人 å¿ è¦ãªç°å¢ iBATIS 2.3.0ã
ã©ã³ãã³ã°
é害
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}