qiita.com 17æ¥ç®ã§ãã ã¿ãªãããPostgreSQLã®DataSourceã®å®è£ ã«ã¯2種é¡ããã®ç¥ã£ã¦ãã¾ãããï¼ ï¼æ®æ®µããPostgreSQLã使ã£ã¦ãã人ãªãç¥ã£ã¦ããã¨æãã¾ããï¼ç§ã¯ç¥ãã¾ããã§ããããã ããã§ããã®ææã®DataSourceã«ã¤ãã¦æ¸ãã¦ãããã¨æãã¾ãã 1. ã¯ããã« äºã®å§ã¾ãã¯ã¨ããæ°è¦éçºã§ã ã¢ããªã±ã¼ã·ã§ã³ãµã¼ãã¼ãããã¼ã¿ãã¼ã¹ãªã© OSSã使ãäºãåæã ã£ããããPostgreSQLãé¸ãã ã®ãå§ã¾ãã§ããã é¸ãã ã¨ãããé¸ã°ãã¦ããã¨ãããã»ã»ã» ã¢ããªã±ã¼ã·ã§ã³ãµã¼ãã¼ã¯ã¡ãã£ã¨æ°ã«ãªã£ã¦ããGlassFishã使ãã¾ããã ãã°ã«ééãããè²ã ããã¾ãããæ°è¦éçºã¯è²ã ä»çµã¿ãèãããããã®ã§æ¥½ããã§ããã è²ããªã©ã¤ãã©ãªã使ã£ãããææ°ãã¼ã¸ã§ã³ããã¡æ©ãåãè¾¼ãã ãã ãããããããã®æ¥½ããã£ãã ï¼ä»ã¯Excel
Commons DBCPãè¶ ããTomcat JDBC Poolã¨ã¯ï¼Tomcat 7ã®æ°æ©è½ã§ä½ãã§ããããã«ãªãã®ãï¼ï¼çªå¤ç·¨ï¼ï¼1/2 ãã¼ã¸ï¼ Tomcatã®DBã³ãã¯ã·ã§ã³ã»ãã¼ã«ã¯2ã¤ãã ï¼ ITèªè ã®çããã¯ãTomcat JDBC Connection Poolãããåãã§ããï¼ é常ãTomcatã®DBã³ãã¯ã·ã§ã³ã»ãã¼ã«ã¨ããã°Apache Commonsããã¸ã§ã¯ãã®ãCommons DBCPããæ³åãããã¨æãã¾ããããããTomcatã«ã¯ãCommons DBCPã以å¤ã«ãDBã³ãã¯ã·ã§ã³ã»ãã¼ã«ã®å®è£ ãåå¨ãã¾ãããããããTomcat JDBC Connection Poolãï¼ä»¥ä¸ãTomcat JDBC Poolï¼ã§ãã Tomcat JDBC Poolã¨ã¯ãApache Tomcatããã¸ã§ã¯ããç¬èªã«ä½æããDBã³ãã¯ã·ã§ã³ã»ãã¼ã«ã®å®è£ ã®ãã¨ã§ãã
25 ããã©ã¼ãã³ã¹æ¡å¼µè¦ç´ ãã®ç« ã§ã¯ãJava Database Connectivityï¼JDBCï¼æ¨æºã«å¯¾ããOracleããã©ã¼ãã³ã¹æ¡å¼µè¦ç´ ã«ã¤ãã¦èª¬æãã¾ãã æ¬¡ã®é ç®ãå«ã¾ãã¾ãã ãããæ´æ° ãã®ä»ã®Oracleããã©ã¼ãã³ã¹æ¡å¼µè¦ç´ ãããæ´æ° è¤æ°ã®UPDATEãDELETEã¾ãã¯INSERTæãåä¸ã®ãããã«ã°ã«ã¼ãåãããããå ¨ä½ããã¼ã¿ãã¼ã¹ã«éä¿¡ãã¦1åã®ã©ã¦ã³ãããªããã§å¦çãããã¨ã«ããããã¼ã¿ãã¼ã¹ã¸ã®ã©ã¦ã³ãããªããã®åæ°ã忏ã§ãã¾ãããã®çµæãã¢ããªã±ã¼ã·ã§ã³ã®ããã©ã¼ãã³ã¹ãåä¸ãã¾ãããããããããæ´æ°ï¼update batchingï¼ã¨å¼ã³ã¾ãã
JDBCæ¥ç¶ãé«éåããï¼ PreparedStatementãã£ãã·ã¥ã®å¨åï¼ï¼äºä¾ã«å¦ã¶Webã·ã¹ãã éçºã®ã¯ã³ãã¤ã³ãï¼11ï¼ æ¬é£è¼ã§ã¯ãç¾å ´ã§ã®ã¨ã³ã¸ãã¢ã®çµé¨ããå¾ããããã¢ããªã±ã¼ã·ã§ã³ã»ãµã¼ãããã¼ã¹ã¨ããWebã·ã¹ãã éçºã«ãããæ³¨æç¹ããã³ãã«ã¤ãã¦è§£èª¬ãããå··ã®ããã¥ã¡ã³ãã§ã¯ãªããªãå¾ãããªãè²´éãªãã¦ãã¦ãæ£ãã°ãããã¦ãããèªè ã®åé¡è§£æ±ºãä»å¾ã·ã¹ãã ãéçºããéã®åèã¨ãã¦å¤§ãã«æ´»ç¨ãã¦ããã ããããï¼ç·¨éå±ï¼
S2Unitã¯DBã使ã£ãã¦ããããã¹ãã®æ¯æ´æ©è½ã¨ãã¦Excelãã¡ã¤ã«ããDBã«ãã¹ãç¨ãã¼ã¿ãæå ¥ããããExcelãã¡ã¤ã«ã¨DBã®å å®¹ãæ¯è¼ããããããã¨ãã§ãã¾ãããã ãå®éã«ãã£ã¦ã¿ãã¨ãããã®ã§ãããã®Excelãã¡ã¤ã«ã®ã¡ã³ããã³ã¹ã³ã¹ãã馬鹿ã«ãªãã¾ããã ããã§ãå®éã«DBã«ã¢ã¯ã»ã¹ããã®ã§ã¯ãªãããã¬ã¼ã ã¯ã¼ã¯ãJDBCãã©ã¤ãã®ã¬ã¤ã¤ã§çºè¡ãããSQLãæ¨ªåãããæå¾ éãã®SQLãçºè¡ãããã®ãã©ããã確èªããã¨ããæ¹æ³ã¯ã©ãã ããï¼ã¨èãã¾ãããããããã©ã¤ãã©ãªãèªä½ããããã¨ãæã£ãã®ã§ããï¼å®ééä¸ã¾ã§ä½ã£ã¦ããã®ã§ããï¼ãä¸ã®ä¸åããã¨ãèãã人ã¯ãããã®ã§ãMockRunnerã®JDBC Mockã¨ããæ©è½ã使ãã¨ãã®ãã®ãºããªãªãã¨ãã§ããããã§ãã http://mockrunner.sourceforge.net/examplesjdbc.html
å æ¥ç´¹ä»ããMockRunnerã®JDBC Mockã§ããã宿¦æå ¥ãåæã«ãã¼ã ã®ã¡ã³ãã¼ã«è¦ã¦ããã£ã¦ããã®ã§ãããããããã¨æ©è½ãããããã§ãããã¨ãã°ä»¥ä¸ã®ãããªæãã§SQLã®æå¾ å¤ã®æ¯è¼æ¹æ³ãå¶å¾¡ãããã¨ãã§ãã¾ãã // 大æåã»å°æåãç¡è¦ jdbcTestModule.setCaseSensitive(false); // æå¾ å¤ã®SQLã«æ£è¦è¡¨ç¾ãå©ç¨å¯è½ã«ãã jdbcTestModule.setUseRegularExpressions(true); æ£è¦è¡¨ç¾ã使ããã®ã§ã jdbcTestModule.verifySQLStatementExecuted( "SELECT .* FROM TABLE WHERE ID=\\?"); ãªãã¦æ¸ãã¦ããã¨ãã¼ãã«ã®ã«ã©ã 追å ã»åé¤ãããã§ã¯ãã¹ãã±ã¼ã¹ãç´ãå¿ è¦ããªããªãã¾ãã便å©ã§ãããæ¬²ãè¨ãã°SQLã®æ¹è¡ã空ç½ã®å·®
ãã®é£è¼ã§ã¯ãJavaã®ãã¼ã¿ãã¼ã¹ã»ã¢ã¯ã»ã¹APIã§ãããJDBCãã®æ©è½ãããµã³ãã«ã³ã¼ãã交ãã¦è§£èª¬ãã¦ããã¾ããã¾ããJ2EEã«ãããJDBCã®ä½ç½®ä»ãããJDBCãå©ç¨ãããã¾ãã¾ãªãã¯ããã¸ã«ã¤ãã¦ã解説ãã¦ããäºå®ã§ããåæç¥èã¨ãã¦ã¯ãJavaã¨ãªã¬ã¼ã·ã§ãã«ã»ãã¼ã¿ãã¼ã¹ã«é¢ãããã¼ã·ãã¯ãªç¥èãããã°ååã§ãã ä»åã¯ãJDBCã®æ¦è¦ã«ã¤ãã¦ç°¡åã«è§¦ããå¾ãJDBCã®ã¢ã¼ããã¯ãã£ã«ã¤ãã¦è§£èª¬ãã¾ãã JDBCã¨ã¯? JDBCã¯ãä¸è¨ã§ãã£ã¦ãã¾ããªãããªã¬ã¼ã·ã§ãã«ã»ãã¼ã¿ãã¼ã¹ï¼ããã³ãã»ã¨ãã©ãã¹ã¦ã®è¡¨å½¢å¼ã®ãã¼ã¿ï¼ã«ã¢ã¯ã»ã¹ããããã®ãæ¨æºJava APIãã§ããJDBCã¯ãJava Database Connectivityãã®çç¥ã ã¨ãããã¦ãã¾ãï¼ããå®ã¯JDBC仿§ã«ã¯æè¨ããã¦ãã¾ããï¼ã 伿¥å ã®ã¯ãªãã£ã«ã«ãªãã¼ã¿ã¯ãå¤ãã®å ´åãªã¬ã¼ã·ã§ãã«ã»ãã¼
ãã®é£è¼ã§ã¯ãJavaã®ãã¼ã¿ãã¼ã¹ã»ã¢ã¯ã»ã¹APIã§ãããJDBCãã®æ©è½ãããµã³ãã«ã³ã¼ãã交ãã¦è§£èª¬ãã¦ããã¾ããã¾ããJ2EEã«ãããJDBCã®ä½ç½®ä»ãããJDBCãå©ç¨ãããã¾ãã¾ãªãã¯ããã¸ã«ã¤ãã¦ã解説ãã¦ããäºå®ã§ããåæç¥èã¨ãã¦ã¯ãJavaã¨ãªã¬ã¼ã·ã§ãã«ã»ãã¼ã¿ãã¼ã¹ã«é¢ãããã¼ã·ãã¯ãªç¥èãããã°ååã§ã ååã¯ãJDBCã®æ¦è¦ã¨ãã®ã¢ã¼ããã¯ãã£ã«ã¤ãã¦è§£èª¬ãã¾ãããä»åã¯ããã£ããJDBCã使ã£ãç°¡åãªãµã³ãã«ã¢ããªã±ã¼ã·ã§ã³ãç´¹ä»ããªãããJDBCã«ãããã¼ã¿ãã¼ã¹æ¥ç¶ã¨ããã¼ã¿åã®ãããã³ã°ãæ¤ç´¢å¦çã«ã¤ãã¦è§£èª¬ãã¾ãã ç°¡åãªJDBCã¢ããªã±ã¼ã·ã§ã³ ããã§ã¯ãç°¡åãªJDBCã¢ããªã±ã¼ã·ã§ã³ã®ã³ã¼ããè¦ã¦ã¿ã¾ããããããã¯ãåããã·ã³ã§åä½ãã¦ããOracle8iãã¼ã¿ãã¼ã¹ã«ã¦ã¼ã¶ã¼åâSCOTTâã§æ¥ç¶ããEMP表ã«å¯¾ãã¦åãåãããå®è¡ãããã®çµæã
SQL ãã¼ã¿ãã¼ã¹æä½è¨èªSQLã«ã¤ãã¦ãã¾ãRDBMSã®æã¤æ©è½ã«ã¤ãã¦è©³ãã解説ãã¾ãã DBæ¦è¦ãSQLããã¼ãã«æä½ããã¼ã¿æä½ ... ç¹éï¼replication PostgreSQLã®ã¬ããªã±ã¼ã·ã§ã³ã·ã¹ãã ãç´¹ä»ãããããã®æ©è½ãæ¯è¼ãã¦ããã¾ãã ç¹éï¼pgbench PostgreSQLã®ãã³ããã¼ã¯ãã¹ãã«ç¨ããããããã°ã©ã ã§ãã pgbench ã«ã¤ãã¦è§£èª¬ãã¾ãã SQLæ¼ç¿åé¡ åç« ã«ç¨æãããæ¼ç¿åé¡ãéãã¾ããã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}