JDBCÃæÊÔÌâ

JDBC³£¼ûÃæÊÔÌ⼯½õ

Ò»¡¢¸ÅÄî

1.ʲôÊÇJDBC£¬ÔÚʲôʱºò»áÓõ½Ëü£¿

JDBCµÄÈ«³ÆÊÇJava DataBase Connection£¬Ò²¾ÍÊÇJavaÊý¾Ý¿âÁ¬½Ó£¬ÎÒÃÇ¿ÉÒÔÓÃËüÀ´²Ù×÷¹ØÏµÐÍÊý¾Ý¿â¡£JDBC½Ó¿Ú¼°Ïà¹ØÀàÔÚjava.sql°üºÍjavax.sql°üÀï¡£ÎÒÃÇ¿ÉÒÔÓÃËüÀ´Á¬½ÓÊý¾Ý¿â£¬Ö´ÐÐSQL²éѯ£¬´æ´¢¹ý³Ì£¬²¢´¦Àí·µ»ØµÄ½á¹û¡£JDBC½Ó¿ÚÈÃJava³ÌÐòºÍJDBCÇý¶¯ÊµÏÖÁËËÉñîºÏ£¬Ê¹µÃÇл»²»Í¬µÄÊý¾Ý¿â±äµÃ¸ü¼Ó¼òµ¥¡£

2.ÓÐÄÄЩ²»Í¬ÀàÐ͵ÄJDBCÇý¶¯£¿

ÓÐËÄÀàJDBCÇý¶¯¡£ºÍÊý¾Ý¿â½øÐн»»¥µÄJava³ÌÐò·Ö³ÉÁ½¸ö²¿·Ö£¬Ò»²¿·ÖÊÇJDBCµÄAPI£¬Êµ¼Ê¹¤×÷µÄÇý¶¯ÔòÊÇÁíÒ»²¿·Ö¡££¨1£©JDBC-ODBC Bridge plus ODBC Driver£¨ÀàÐÍ1£©£ºËüʹÓÃODBCÇý¶¯Á¬½ÓÊý¾Ý¿â¡£ÐèÒª°²×°ODBCÒÔ±ãÁ¬½ÓÊý¾Ý¿â£¬ÕýÒòΪÕâÑù£¬ÕâÖÖ·½Ê½ÏÖÔÚÒѾ­»ù±¾ÌÔÌ­ÁË¡££¨2£©Native API partly Java technology-enabled driver£¨ÀàÐÍ2£©£ºÕâÖÖÇý¶¯°ÑJDBCµ÷ÓÃÊÊÅä³ÉÊý¾Ý¿âµÄ±¾µØ½Ó¿ÚµÄµ÷Óᣣ¨3£©Pure Java Driver for Database Middleware£¨ÀàÐÍ3£©£ºÕâ¸öÇý¶¯°ÑJDBCµ÷ÓÃת·¢¸øÖмä¼þ·þÎñÆ÷£¬ÓÉËüÈ¥ºÍ²»Í¬µÄÊý¾Ý¿â½øÐÐÁ¬½Ó¡£ÓÃÕâÖÖÀàÐ͵ÄÇý¶¯ÐèÒª²¿ÊðÖмä¼þ·þÎñÆ÷¡£ÕâÖÖ·½Ê½Ôö¼ÓÁ˶îÍâµÄÍøÂçµ÷Ó㬵¼ÖÂÐÔÄܱä²î£¬Òò´ËºÜÉÙʹÓᣣ¨4£©Direct-to-Database Pure Java Driver£¨ÀàÐÍ4£©£ºÕâ¸öÇý¶¯°ÑJDBCת»¯³ÉÊý¾Ý¿âʹÓõÄÍøÂçЭÒé¡£ÕâÖÖ·½°¸×î¼òµ¥£¬Ò²ÊʺÏͨ¹ýÍøÂçÁ¬½ÓÊý¾Ý¿â¡£²»¹ýʹÓÃÕâÖÖ·½Ê½µÄ»°£¬ÐèÒª¸ù¾Ý²»Í¬Êý¾Ý¿âÑ¡ÓÃÌØ¶¨µÄÇý¶¯³ÌÐò£¬±ÈÈçOJDBCÊÇOracle¿ª·¢µÄOracleÊý¾Ý¿âµÄÇý¶¯£¬¶øMySQL Connector/JÊÇMySQLÊý¾Ý¿âµÄÇý¶¯¡£

3.JDBCÊÇÈçºÎʵÏÖJava³ÌÐòºÍJDBCÇý¶¯µÄËÉñîºÏµÄ£¿

JDBC APIʹÓÃJavaµÄ·´Éä»úÖÆÀ´ÊµÏÖJava³ÌÐòºÍJDBCÇý¶¯µÄËÉñîºÏ¡£Ëæ±ã¿´Ò»¸ö¼òµ¥µÄJDBCʾÀý£¬Äã»á·¢ÏÖËùÓвÙ×÷¶¼ÊÇͨ¹ýJDBC½Ó¿ÚÍê³ÉµÄ£¬¶øÇý¶¯Ö»ÓÐÔÚͨ¹ýClass.forName·´Éä»úÖÆÀ´¼ÓÔØµÄʱºò²Å»á³öÏÖ¡£

4.ʲôÊÇJDBCÁ¬½Ó£¬ÔÚJavaÖÐÈçºÎ´´½¨Ò»¸öJDBCÁ¬½Ó£¿

JDBCÁ¬½ÓÊǺÍÊý¾Ý¿â·þÎñÆ÷½¨Á¢µÄÒ»¸ö»á»°¡£Äã¿ÉÒÔÏëÏñ³ÉÊÇÒ»¸öºÍÊý¾Ý¿âµÄSocketÁ¬½Ó¡£ ´´½¨JDBCÁ¬½ÓºÜ¼òµ¥£¬Ö»ÐèÒªÁ½²½£º

A. ×¢²á²¢¼ÓÔØÇý¶¯£ºÊ¹ÓÃClass.forName()£¬Çý¶¯Àà¾Í»á×¢²áµ½DriverManagerÀïÃæ²¢¼ÓÔØµ½ÄÚ´æÀï¡£ B. ÓÃDriverManager»ñÈ¡Á¬½Ó¶ÔÏ󣺵÷ÓÃDriverManager.getConnnection()·½·¨²¢´«ÈëÊý¾Ý¿âÁ¬½ÓµÄURL£¬Óû§Ãû¼°ÃÜÂ룬¾ÍÄÜ»ñÈ¡µ½Á¬½Ó¶ÔÏó¡£

Connection con = null; try{

// load the Driver Class

Class.forName(\ // create the connection now

con = DriverManager.getConnection(\ \ \}catch (SQLException e) {

System.out.println(\e.printStackTrace();

}catch (ClassNotFoundException e) {

System.out.println(\e.printStackTrace();

}

5.JDBCµÄDriverManagerÊÇÓÃÀ´×öʲôµÄ£¿

JDBCµÄDriverManagerÊÇÒ»¸ö¹¤³§À࣬ÎÒÃÇͨ¹ýËüÀ´´´½¨Êý¾Ý¿âÁ¬½Ó¡£µ±JDBCµÄDriverÀà±»¼ÓÔØ½øÀ´Ê±£¬Ëü»á×Ô¼º×¢²áµ½DriverManagerÀàÀïÃæ£¬Äã¿ÉÒÔ¿´ÏÂJDBC DriverÀàµÄÔ´ÂëÀ´Á˽âһϡ£È»ºóÎÒÃÇ»á°ÑÊý¾Ý¿âÅäÖÃÐÅÏ¢´«³ÉDriverManager.getConnection()·½·¨£¬DriverManager»áʹÓÃ×¢²áµ½ËüÀïÃæµÄÇý¶¯À´»ñÈ¡Êý¾Ý¿âÁ¬½Ó£¬²¢·µ»Ø¸øµ÷ÓõijÌÐò¡£

6.ÔÚJava³ÌÐòÖУ¬ÈçºÎ»ñÈ¡Êý¾Ý¿â·þÎñÆ÷µÄÏà¹ØÐÅÏ¢£¿

ʹÓÃDatabaseMetaData¿ÉÒÔ»ñÈ¡µ½·þÎñÆ÷µÄÐÅÏ¢¡£µ±ºÍÊý¾Ý¿âµÄÁ¬½Ó³É¹¦½¨Á¢ÁËÖ®ºó£¬¿ÉÒÔͨ¹ýµ÷ÓÃgetMetaData()·½·¨À´»ñÈ¡Êý¾Ý¿âµÄÔªÐÅÏ¢¡£DatabaseMetaDataÀïÃæÓкܶ෽·¨£¬Í¨¹ýËüÃÇ¿ÉÒÔ»ñÈ¡µ½Êý¾Ý¿âµÄ²úÆ·Ãû³Æ£¬°æ±¾ºÅ£¬ÅäÖÃÐÅÏ¢µÈ¡£

DatabaseMetaDatametaData = con.getMetaData();

String dbProduct = metaData.getDatabaseProductName();

7.JDBCµÄStatementÊÇʲô£¿

StatementÊÇJDBCÖÐÓÃÀ´Ö´ÐÐÊý¾Ý¿âSQL²éѯÓï¾äµÄ½Ó¿Ú¡£Í¨¹ýµ÷ÓÃÁ¬½Ó¶ÔÏóµÄgetStatement()·½·¨ÎÒÃÇ¿ÉÒÔÉú³ÉÒ»¸öStatement¶ÔÏó¡£ÎÒÃÇ¿ÉÒÔͨ¹ýµ÷ÓÃËüµÄexecute()£¬executeQuery()£¬executeUpdate()·½·¨À´Ö´Ðо²Ì¬SQL²éѯ¡£

ÓÉÓÚSQLÓï¾äÊdzÌÐòÖд«ÈëµÄ£¬Èç¹ûûÓжÔÓû§ÊäÈë½øÐÐУÑéµÄ»°¿ÉÄÜ»áÒýÆðSQL×¢ÈëµÄÎÊÌ⣬Èç¹ûÏëÁ˽â¸ü¶à¹ØÓÚSQL×¢ÈëµÄ£¬¿ÉÒÔ¿´ÏÂÕâÀĬÈÏÇé¿öÏ£¬Ò»¸öStatementͬʱֻÄÜ´ò¿ªÒ»¸öResultSet¡£Èç¹ûÏë²Ù×÷¶à¸öResultSet¶ÔÏóµÄ»°£¬ÐèÒª´´½¨¶à¸öStatement¡£

Statement½Ó¿ÚµÄËùÓÐexecute·½·¨¿ªÊ¼Ö´ÐÐʱ¶¼Ä¬ÈÏ»á¹Ø±Õµ±Ç°´ò¿ªµÄResultSet¡£

6.execute£¬executeQuery£¬executeUpdateµÄÇø±ðÊÇʲô£¿

StatementµÄexecute(String query)·½·¨ÓÃÀ´Ö´ÐÐÈÎÒâµÄSQL²éѯ£¬Èç¹û²éѯµÄ½á¹ûÊÇÒ»¸öResultSet£¬Õâ¸ö·½·¨¾Í·µ»Øtrue¡£Èç¹û½á¹û²»ÊÇResultSet£¬±ÈÈçinsert»òÕßupdate²éѯ£¬Ëü¾Í»á·µ»Øfalse¡£ÎÒÃÇ¿ÉÒÔͨ¹ýËüµÄgetResultSet·½·¨À´»ñÈ¡ResultSet£¬»òÕßͨ¹ýgetUpdateCount()·½·¨À´»ñÈ¡¸üеļǼÌõÊý¡£

StatementµÄexecuteQuery(String query)½Ó¿ÚÓÃÀ´Ö´ÐÐselect²éѯ£¬²¢ÇÒ·µ»ØResultSet¡£¼´Ê¹²éѯ²»µ½¼Ç¼·µ»ØµÄResultSetÒ²²»»áΪnull¡£ÎÒÃÇͨ³£Ê¹ÓÃexecuteQueryÀ´Ö´ÐвéѯÓï¾ä£¬ÕâÑùµÄ»°Èç¹û´«½øÀ´µÄÊÇinsert»òÕßupdateÓï¾äµÄ»°£¬Ëü»áÅ׳ö´íÎóÐÅϢΪ ¡°executeQuery method can not be used for update¡±µÄjava.util.SQLException¡£

StatementµÄexecuteUpdate(String query)·½·¨ÓÃÀ´Ö´ÐÐinsert»òÕßupdate/delete£¨DML£©Óï¾ä£¬»òÕß Ê²Ã´Ò²²»·µ»ØDDLÓï¾ä¡£·µ»ØÖµÊÇintÀàÐÍ£¬Èç¹ûÊÇDMLÓï¾äµÄ»°£¬Ëü¾ÍÊǸüеÄÌõÊý£¬Èç¹ûÊÇDDLµÄ»°£¬¾Í·µ»Ø0¡£

Ö»Óе±Ä㲻ȷ¶¨ÊÇʲôÓï¾äµÄʱºò²ÅÓ¦¸ÃʹÓÃexecute()·½·¨£¬·ñÔòÓ¦¸ÃʹÓÃexecuteQuery»òÕßexecuteUpdate·½·¨¡£

7.JDBCµÄPreparedStatementÊÇʲô£¿

PreparedStatement¶ÔÏó´ú±íµÄÊÇÒ»¸öÔ¤±àÒëµÄSQLÓï¾ä¡£ÓÃËüÌṩµÄsetter·½·¨¿ÉÒÔ´«Èë²éѯµÄ±äÁ¿¡£ÓÉÓÚPreparedStatementÊÇÔ¤±àÒëµÄ£¬Í¨¹ýËü¿ÉÒÔ½«¶ÔÓ¦µÄSQLÓï¾ä¸ßЧµÄÖ´Ðжà´Î¡£ÓÉÓÚPreparedStatement×Ô¶¯¶ÔÌØÊâ×Ö·ûתÒ壬±ÜÃâÁËSQL×¢Èë¹¥»÷£¬Òò´ËÓ¦µ±¾¡Á¿µÄʹÓÃËü¡£PreparedStatementÖÐÈçºÎ×¢ÈëNULLÖµ£¿

¿ÉÒÔʹÓÃËüµÄsetNull·½·¨À´°ÑnullÖµ°ó¶¨µ½Ö¸¶¨µÄ±äÁ¿ÉÏ¡£setNull·½·¨ÐèÒª´«Èë²ÎÊýµÄË÷ÒýÒÔ¼°SQL×ֶεÄÀàÐÍ£¬ÏñÕâÑù£º

ps.setNull(10, java.sql.Types.INTEGER);.

StatementÖеÄgetGeneratedKeys·½·¨ÓÐʲôÓã¿

ÓеÄʱºò±í»áÉú³ÉÖ÷¼ü£¬Õâʱºò¾Í¿ÉÒÔÓÃStatementµÄgetGeneratedKeys()·½·¨À´»ñÈ¡Õâ¸ö×Ô¶¯Éú³ÉµÄÖ÷¼üµÄÖµÁË¡£Ïà¶ÔÓÚStatement£¬PreparedStatementµÄÓŵãÊÇʲô£¿

ËüºÍStatementÏà±ÈÓŵãÔÚÓÚ£ºPreparedStatementÓÐÖúÓÚ·ÀÖ¹SQL×¢È룬ÒòΪËü»á×Ô¶¯¶ÔÌØÊâ×Ö·ûתÒå¡£PreparedStatement¿ÉÒÔÓÃÀ´½øÐж¯Ì¬²éѯ¡£PreparedStatementÖ´Ðиü¿ì¡£ÓÈÆäµ±ÄãÖØÓÃËü»òÕßʹÓÃËüµÄÆ´Á¿²éѯ½Ó¿ÚÖ´ÐжàÌõÓï¾äʱ¡£Ê¹ÓÃPreparedStatementµÄsetter·½·¨¸üÈÝÒ×д³öÃæÏò¶ÔÏóµÄ´úÂ룬¶øStatementµÄ»°£¬ÎÒÃÇµÃÆ´½Ó×Ö·û´®À´Éú³É²éѯÓï¾ä¡£Èç¹û²ÎÊýÌ«¶àÁË£¬×Ö·û´®Æ´½Ó¿´ÆðÀ´»á·Ç³£³óª²¢ÇÒÈÝÒ׳ö´í¡£

8.PreparedStatementµÄȱµãÊÇʲô£¬Ôõô½â¾öÕâ¸öÎÊÌ⣿

PreparedStatementµÄÒ»¸öȱµãÊÇ£¬ÎÒÃDz»ÄÜÖ±½ÓÓÃËüÀ´Ö´ÐÐinÌõ¼þÓï¾ä£»ÐèÒªÖ´ÐÐ

INÌõ¼þÓï¾äµÄ»°£¬ÏÂÃæÓÐһЩ½â¾ö·½°¸£º·Ö±ð½øÐе¥Ìõ²éѯ¡ª¡ªÕâÑù×öÐÔÄܺܲ²»ÍƼö¡£ ʹÓô洢¹ý³Ì¡ª¡ªÕâÈ¡¾öÓÚÊý¾Ý¿âµÄʵÏÖ£¬²»ÊÇËùÓÐÊý¾Ý¿â¶¼Ö§³Ö¡£¶¯Ì¬Éú³ÉPreparedStatement¡ª¡ªÕâÊǸöºÃ°ì·¨£¬µ«ÊDz»ÄÜÏíÊÜPreparedStatementµÄ»º´æ´øÀ´µÄºÃ´¦ÁË¡£ÔÚPreparedStatement²éѯÖÐʹÓÃNULLÖµ¡ª¡ªÈç¹ûÄãÖªµÀÊäÈë±äÁ¿µÄ×î´ó¸öÊýµÄ»°£¬ÕâÊǸö²»´íµÄ°ì·¨£¬À©Õ¹Ò»Ï»¹¿ÉÒÔÖ§³ÖÎÞÏÞ²ÎÊý¡£ ¹ØÓÚÕâ¸öÎÊÌâ¸üÏêϸµÄ·ÖÎö¿ÉÒÔ¿´ÏÂÕâÆªÎÄÕ¡£

9.JDBCµÄResultSetÊÇʲô£¿

ÔÚ²éѯÊý¾Ý¿âºó»á·µ»ØÒ»¸öResultSet£¬Ëü¾ÍÏñÊDzéѯ½á¹û¼¯µÄÒ»ÕÅÊý¾Ý±í¡£ResultSet¶ÔÏóά»¤ÁËÒ»¸öÓαָ꣬Ïòµ±Ç°µÄÊý¾ÝÐС£¿ªÊ¼µÄʱºòÕâ¸öÓαêÖ¸ÏòµÄÊǵÚÒ»ÐС£Èç¹ûµ÷ÓÃÁËResultSetµÄnext()·½·¨Óαê»áÏÂÒÆÒ»ÐУ¬Èç¹ûûÓиü¶àµÄÊý¾ÝÁË£¬next()·½·¨»á·µ»Øfalse¡£¿ÉÒÔÔÚforÑ­»·ÖÐÓÃËüÀ´±éÀúÊý¾Ý¼¯¡£Ä¬ÈϵÄResultSetÊDz»Äܸüеģ¬ÓαêÒ²Ö»ÄÜÍùÏÂÒÆ¡£Ò²¾ÍÊÇ˵ÄãÖ»ÄÜ´ÓµÚÒ»Ðе½×îºóÒ»ÐбéÀúÒ»±é¡£²»¹ýÒ²¿ÉÒÔ´´½¨¿ÉÒԻعö»òÕ߿ɸüеÄResultSet£¬ÏñÏÂÃæÕâÑù¡£

Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);

µ±Éú³ÉResultSetµÄStatement¶ÔÏóÒª¹Ø±Õ»òÕßÖØÐÂÖ´ÐлòÊÇ»ñÈ¡ÏÂÒ»¸öResultSetµÄʱºò£¬ResultSet¶ÔÏóÒ²»á×Ô¶¯¹Ø±Õ¡£¿ÉÒÔͨ¹ýResultSetµÄgetter·½·¨£¬´«ÈëÁÐÃû»òÕß´Ó1¿ªÊ¼µÄÐòºÅÀ´»ñÈ¡ÁÐÊý¾Ý¡£

10.ÓÐÄÄЩ²»Í¬µÄResultSet£¿

¸ù¾Ý´´½¨StatementʱÊäÈë²ÎÊýµÄ²»Í¬£¬»á¶ÔÓ¦²»Í¬ÀàÐ͵ÄResultSet¡£Èç¹ûÄã¿´ÏÂConnectionµÄ·½·¨£¬Äã»á·¢ÏÖcreateStatementºÍprepareStatement·½·¨ÖØÔØÁË£¬ÒÔÖ§³Ö²»Í¬µÄResultSetºÍ²¢·¢ÀàÐÍ¡£Ò»¹²ÓÐÈýÖÖResultSet¶ÔÏó¡£

ResultSet.TYPE_FORWARD_ONLY£ºÕâÊÇĬÈϵÄÀàÐÍ£¬ËüµÄÓαêÖ»ÄÜÍùÏÂÒÆ¡£

ResultSet.TYPE_SCROLL_INSENSITIVE£ºÓαê¿ÉÒÔÉÏÏÂÒÆ¶¯£¬Ò»µ©Ëü´´½¨ºó£¬Êý¾Ý¿âÀïµÄÊý¾ÝÔÙ·¢ÉúÐ޸쬶ÔËüÀ´ËµÊÇ͸Ã÷µÄ¡£

ResultSet.TYPE_SCROLL_SENSITIVE£ºÓαê¿ÉÒÔÉÏÏÂÒÆ¶¯£¬Èç¹ûÉú³ÉºóÊý¾Ý¿â»¹·¢ÉúÁËÐ޸IJÙ×÷£¬ËüÊÇÄܹ»¸ÐÖªµ½µÄ¡£

11.ResultSetÓÐÁ½ÖÖ²¢·¢ÀàÐÍ¡£

ResultSet.CONCUR_READ_ONLY:ResultSetÊÇÖ»¶ÁµÄ£¬ÕâÊÇĬÈÏÀàÐÍ¡£

ResultSet.CONCUR_UPDATABLE:ÎÒÃÇ¿ÉÒÔʹÓÃResultSetµÄ¸üз½·¨À´¸üÐÂÀïÃæµÄÊý¾Ý¡£

12.StatementÖеÄsetFetchSizeºÍsetMaxRows·½·¨ÓÐʲôÓô¦£¿

setMaxRows¿ÉÒÔÓÃÀ´ÏÞÖÆ·µ»ØµÄÊý¾Ý¼¯µÄÐÐÊý¡£µ±È»Í¨¹ýSQLÓï¾äÒ²¿ÉÒÔʵÏÖÕâ¸ö¹¦ÄÜ¡£±ÈÈçÔÚMySQLÖÐÎÒÃÇ¿ÉÒÔÓÃLIMITÌõ¼þÀ´ÉèÖ÷µ»Ø½á¹ûµÄ×î´óÐÐÊý¡£

setFetchSizeÀí½âÆðÀ´¾ÍÓеã·Ñ¾¢ÁË£¬ÒòΪÄãµÃÖªµÀStatementºÍResultSetÊÇÔõô¹¤×÷µÄ¡£µ±Êý¾Ý¿âÔÚÖ´ÐÐÒ»Ìõ²éѯÓï¾äʱ£¬²éѯµ½µÄÊý¾ÝÊÇÔÚÊý¾Ý¿âµÄ»º´æÖÐά»¤µÄ¡£ResultSetÆäʵÒýÓõÄÊÇÊý¾Ý¿âÖлº´æµÄ½á¹û¡£

¼ÙÉèÎÒÃÇÓÐÒ»Ìõ²éѯ·µ»ØÁË100ÐÐÊý¾Ý£¬ÎÒÃǰÑfetchSizeÉèÖóÉÁË10£¬ÄÇôÊý¾Ý¿âÇý¶¯Ã¿´ÎÖ»»áÈ¡10ÌõÊý¾Ý£¬Ò²¾ÍÊÇ˵µÃÈ¡10´Î¡£µ±Ã¿ÌõÊý¾ÝÐèÒª´¦ÀíµÄʱ¼ä±È½Ï³¤µÄʱºò²¢ÇÒ·µ»ØÊý¾ÝÓַdz£¶àµÄʱºò£¬Õâ¸ö¿ÉÑ¡µÄ²ÎÊý¾Í±äµÃ·Ç³£ÓÐÓÃÁË¡£ÎÒÃÇ¿ÉÒÔͨ¹ýStatementÀ´ÉèÖÃfetchSize²ÎÊý£¬²»¹ýËü»á±»ResultSet¶ÔÏóÉèÖýøÀ´µÄÖµËù¸²¸Çµô¡£

13.ÈçºÎʹÓÃJDBC½Ó¿ÚÀ´µ÷Óô洢¹ý³Ì£¿

´æ´¢¹ý³Ì¾ÍÊÇÊý¾Ý¿â±àÒëºÃµÄÒ»×éSQLÓï¾ä£¬¿ÉÒÔͨ¹ýJDBC½Ó¿ÚÀ´½øÐе÷Óá£ÎÒÃÇ¿ÉÒÔͨ¹ýJDBCµÄCallableStatement½Ó¿ÚÀ´ÔÚÊý¾Ý¿âÖÐÖ´Ðд洢¹ý³Ì¡£³õʼ»¯CallableStatementµÄÓï·¨ÊÇÕâÑùµÄ£º

CallableStatementstmt = con.prepareCall(\stmt.setInt(1, id);

stmt.setString(2, name); stmt.setString(3, role); stmt.setString(4, city); stmt.setString(5, country);

//register the OUT parameter before calling the stored procedure stmt.registerOutParameter(6, java.sql.Types.VARCHAR); stmt.executeUpdate();

ÎÒÃǵÃÔÚÖ´ÐÐCallableStatement֮ǰע²áOUT²ÎÊý¡£¹ØÓÚÕâ¸ö¸üÏêϸµÄ×ÊÁÏ¿ÉÒÔ¿´ÕâÀï¡£

13.JDBCµÄÅú´¦ÀíÊÇʲô£¬ÓÐʲôºÃ´¦£¿

ÓÐʱºòÀàËÆµÄ²éѯÎÒÃÇÐèÒªÖ´Ðкܶà±é£¬±ÈÈç´ÓCSVÎļþÖмÓÔØÊý¾Ýµ½¹ØÏµÐÍÊý¾Ý¿âµÄ±íÀï¡£ÎÒÃÇÒ²ÖªµÀ£¬Ö´Ðвéѯ¿ÉÒÔÓÃStatement»òÕßPreparedStatement¡£³ý´ËÖ®Í⣬JDBC»¹ÌṩÁËÅú´¦ÀíµÄÌØÐÔ£¬ÓÐÁËËü£¬ÎÒÃÇ¿ÉÒÔÔÚÒ»´ÎÊý¾Ý¿âµ÷ÓÃÖÐÖ´ÐжàÌõ²éѯÓï¾ä¡£JDBCͨ¹ýStatementºÍPreparedStatementÖеÄaddBatchºÍexecuteBatch·½·¨À´Ö§³ÖÅú´¦Àí¡£Åú´¦Àí±ÈÒ»ÌõÌõÓï¾äÖ´ÐеÄËÙ¶ÈÒª¿ìµÃ¶à£¬ÒòΪËüÐèÒªºÜÉÙµÄÊý¾Ý¿âµ÷Óã¬Ïë½øÒ»²½Á˽âÇëµãÕâÀï¡£

14.JDBCµÄÊÂÎñ¹ÜÀíÊÇʲô£¬ÎªÊ²Ã´ÐèÒªËü£¿

ĬÈÏÇé¿öÏ£¬ÎÒÃÇ´´½¨µÄÊý¾Ý¿âÁ¬½Ó£¬Êǹ¤×÷ÔÚ×Ô¶¯Ìá½»µÄģʽϵġ£ÕâÒâζ×ÅÖ»ÒªÎÒÃÇÖ´ÐÐÍêÒ»Ìõ²éѯÓï¾ä£¬¾Í»á×Ô¶¯½øÐÐÌá½»¡£Òò´ËÎÒÃǵÄÿÌõ²éѯ£¬Êµ¼ÊÉ϶¼ÊÇÒ»¸öÊÂÎñ£¬Èç¹ûÎÒÃÇÖ´ÐеÄÊÇDML»òÕßDDL£¬Ã¿ÌõÓï¾äÍê³ÉµÄʱºò£¬Êý¾Ý¿â¾ÍÒѾ­Íê³ÉÐÞ¸ÄÁË¡£

ÓеÄʱºòÎÒÃÇÏ£ÍûÓÉÒ»×éSQL²éѯ×é³ÉÒ»¸öÊÂÎñ£¬Èç¹ûËüÃǶ¼Ö´ÐÐOKÎÒÃÇÔÙ½øÐÐÌá½»£¬Èç¹ûÖÐ;³öÏÖÒì³£ÁË£¬ÎÒÃÇ¿ÉÒÔ½øÐлعö¡£

JDBC½Ó¿ÚÌṩÁËÒ»¸ösetAutoCommit(boolean flag)·½·¨£¬ÎÒÃÇ¿ÉÒÔÓÃËüÀ´¹Ø±ÕÁ¬½Ó×Ô¶¯Ìá½»µÄÌØÐÔ¡£ÎÒÃÇÓ¦¸ÃÔÚÐèÒªÊÖ¶¯Ìύʱ²Å¹Ø±ÕÕâ¸öÌØÐÔ£¬²»È»µÄ»°ÊÂÎñ²»»á×Ô¶¯Ìá½»£¬Ã¿´Î¶¼µÃÊÖ¶¯Ìá½»¡£Êý¾Ý¿âͨ¹ý±íËøÀ´¹ÜÀíÊÂÎñ£¬Õâ¸ö²Ù×÷·Ç³£ÏûºÄ×ÊÔ´¡£Òò´ËÎÒÃÇÓ¦µ±Íê³É²Ù×÷ºó¾¡¿ìµÄÌá½»ÊÂÎñ¡£ÔÚÕâÀïÓиü¶à¹ØÓÚÊÂÎñµÄʾÀý³ÌÐò¡£

15.ÈçºÎ»Ø¹öÊÂÎñ£¿

ͨ¹ýConnection¶ÔÏóµÄrollback·½·¨¿ÉÒԻعöÊÂÎñ¡£Ëü»á»Ø¹öÕâ´ÎÊÂÎñÖеÄËùÓÐÐ޸IJÙ×÷£¬²¢Êͷŵ±Ç°Á¬½ÓËù³ÖÓеÄÊý¾Ý¿âËø¡£

16.JDBCµÄ±£´æµã(Savepoint)ÊÇʲô£¬ÈçºÎʹÓã¿

ÓÐʱºòÊÂÎñ°üº¬ÁËÒ»×éÓï¾ä£¬¶øÎÒÃÇÏ£Íû»Ø¹öµ½Õâ¸öÊÂÎñµÄij¸öÌØ¶¨µÄµã¡£JDBCµÄ±£´æµã¿ÉÒÔÓÃÀ´Éú³ÉÊÂÎñµÄÒ»¸ö¼ì²éµã£¬Ê¹µÃÊÂÎñ¿ÉÒԻعöµ½Õâ¸ö¼ì²éµã¡£ Ò»µ©ÊÂÎñÌá½»»òÕ߻عöÁË£¬ËüÉú³ÉµÄÈκα£´æµã¶¼»á×Ô¶¯ÊͷŲ¢Ê§Ð§¡£»Ø¹öÊÂÎñµ½Ä³¸öÌØ¶¨µÄ±£´æµãºó£¬Õâ¸ö±£´æµãºóËùÓÐÆäËüµÄ±£´æµã»á×Ô¶¯ÊͷŲ¢ÇÒʧЧ¡£¿ÉÒÔ¶ÁÏÂÕâ¸öÁ˽â¸ü¶à¹ØÓÚJDBC SavepointµÄÐÅÏ¢¡£

17.JDBCµÄDataSourceÊÇʲô£¬ÓÐʲôºÃ´¦£¿

DataSource¼´Êý¾ÝÔ´£¬ËüÊǶ¨ÒåÔÚjavax.sqlÖеÄÒ»¸ö½Ó¿Ú£¬¸úDriverManagerÏà±È£¬ËüµÄ¹¦ÄÜÒª¸üÇ¿´ó¡£ÎÒÃÇ¿ÉÒÔÓÃËüÀ´´´½¨Êý¾Ý¿âÁ¬½Ó£¬µ±È»Çý¶¯µÄʵÏÖÀà»áʵ¼ÊÈ¥Íê³ÉÕâ¸ö¹¤×÷¡£³ýÁËÄÜ´´½¨Á¬½ÓÍ⣬Ëü»¹ÌṩÁËÈçϵÄÌØÐÔ£º 1.»º´æPreparedStatementÒÔ±ã¸ü¿ìµÄÖ´ÐÐ 2.¿ÉÒÔÉèÖÃÁ¬½Ó³¬Ê±Ê±¼ä 3.ÌṩÈÕÖ¾¼Ç¼µÄ¹¦ÄÜ

4.ResultSet´óСµÄ×î´óãÐÖµÉèÖÃ

ͨ¹ýJNDIµÄÖ§³Ö£¬¿ÉÒÔΪservletÈÝÆ÷ÌṩÁ¬½Ó³ØµÄ¹¦ÄÜ

18.ÈçºÎͨ¹ýJDBCµÄDataSourceºÍApache TomcatµÄJNDIÀ´´´½¨Á¬½Ó³Ø£¿

¶Ô²¿ÊðÔÚservletÈÝÆ÷ÖеÄWEB³ÌÐò¶øÑÔ£¬´´½¨Êý¾Ý¿âÁ¬½Ó³Ø·Ç³£¼òµ¥£¬½öÐèÒªÒÔϼ¸²½¡£ ÔÚÈÝÆ÷µÄÅäÖÃÎļþÖд´½¨JDBCµÄJNDI×ÊÔ´£¬Í¨³£ÔÚserver.xml»òÕßcontext.xmlÀïÃæ¡£ÏñÕâÑù£º

type=\

driverClassName=%url=%username=\password=\maxActive=\maxIdle=\minIdle=\

maxWait=\

type=\

ÔÚWEBÓ¦ÓóÌÐòÖУ¬ÏÈÓÃInitialContextÀ´²éÕÒJNDI×ÊÔ´£¬È»ºó»ñÈ¡Á¬½Ó¡£ Context ctx = new InitialContext();

DataSource ds = (DataSource) ctx.lookup(\

19.ApacheµÄDBCPÊÇʲô£¿

Èç¹ûÓÃDataSourceÀ´»ñÈ¡Á¬½ÓµÄ»°£¬Í¨³£»ñÈ¡Á¬½ÓµÄ´úÂëºÍÇý¶¯Ìض¨µÄDataSourceÊǽôñîºÏµÄ¡£ÁíÍ⣬³ýÁËÑ¡ÔñDataSourceµÄʵÏÖÀ࣬ʣϵĴúÂë»ù±¾¶¼ÊÇÒ»ÑùµÄ¡£

ApacheµÄDBCP¾ÍÊÇÓÃÀ´½â¾öÕâЩÎÊÌâµÄ£¬ËüÌṩµÄDataSourceʵÏÖ³ÉΪÁËÓ¦ÓóÌÐòºÍ²»Í¬JDBCÇý¶¯¼äµÄÒ»¸ö³éÏó²ã¡£ApacheµÄDBCP¿âÒÀÀµcommons-pool¿â£¬ËùÒÔҪȷ±£ËüÃǶ¼ÔÚ²¿Êð·¾¶Ï¡£

20.ʲôÊÇÊý¾Ý¿âµÄ¸ôÀë¼¶±ð£¿

µ±ÎÒÃÇΪÁËÊý¾ÝµÄÒ»ÖÂÐÔʹÓÃÊÂÎñʱ£¬Êý¾Ý¿âϵͳÓÃËøÀ´·ÀÖ¹±ðÈË·ÃÎÊÊÂÎñÖÐÓõ½µÄÊý¾Ý¡£Êý¾Ý¿âͨ¹ýËøÀ´·ÀÖ¹Ôà¶Á£¬²»¿ÉÖØ¸´¶Á(Non-Repeatable Reads)¼°»Ã¶Á£¨Phantom-Read£©µÄÎÊÌâ¡£

Êý¾Ý¿âʹÓÃJDBCÉèÖõĸôÀë¼¶±ðÀ´¾ö¶¨ËüʹÓúÎÖÖËø»úÖÆ£¬ÎÒÃÇ¿ÉÒÔͨ¹ýConnectionµÄgetTransactionIsolationºÍsetTransactionIsolation·½·¨À´»ñÈ¡ºÍÉèÖÃÊý¾Ý¿âµÄ¸ôÀë

¼¶±ð¡£

¸ôÀë¼¶±ð ÊÂÎñ Ôà¶Á ²»¿ÉÖØ¸´¶Á »Ã¶Á

TRANSACTION_NONE ²»Ö§³Ö ²»¿ÉÓà ²»¿ÉÓà ²»¿ÉÓÃ

TRANSACTION_READ_COMMITTED Ö§³Ö ×èÖ¹ ÔÊÐí ÔÊÐí TRANSACTION_READ_UNCOMMITTED Ö§³Ö ÔÊÐí ÔÊÐí ÔÊÐí TRANSACTION_REPEATABLE_READ Ö§³Ö ×èÖ¹ ×èÖ¹ ÔÊÐí TRANSACTION_SERIALIZABLE Ö§³Ö ×èÖ¹ ×èÖ¹ ×èÖ¹

21.JDBCµÄRowSetÊÇʲô£¬ÓÐÄÄЩ²»Í¬µÄRowSet£¿

RowSetÓÃÓÚ´æ´¢²éѯµÄÊý¾Ý½á¹û£¬ºÍResultSetÏà±È£¬Ëü¸ü¾ßÁé»îÐÔ¡£RowSet¼Ì³Ð×ÔResultSet£¬Òò´ËResultSetÄܸɵģ¬ËüÃÇÒ²ÄÜ£¬¶øResultSet×ö²»µ½µÄ£¬ËüÃÇ»¹ÊÇ¿ÉÒÔ¡£RowSet½Ó¿Ú¶¨ÒåÔÚjavax.sql°üÀï¡£

22.RowSetÌṩµÄ¶îÍâµÄÌØÐÔÓУº

ÌṩÁËJava BeanµÄ¹¦ÄÜ£¬¿ÉÒÔͨ¹ýsettterºÍgetter·½·¨À´ÉèÖúͻñÈ¡ÊôÐÔ¡£RowSetʹÓÃÁËJavaBeanµÄʼþÇý¶¯Ä£ÐÍ£¬Ëü¿ÉÒÔ¸ø×¢²áµÄ×é¼þ·¢ËÍʼþ֪ͨ£¬±ÈÈçÓαêµÄÒÆ¶¯£¬ÐеÄÔöɾ¸Ä£¬ÒÔ¼°RowSetÄÚÈݵÄÐ޸ĵȡ£

RowSet¶ÔÏóĬÈÏÊǿɹö¶¯£¬¿É¸üеģ¬Òò´ËÈç¹ûÊý¾Ý¿âϵͳ²»Ö§³ÖResultSetʵÏÖÀàËÆµÄ¹¦ÄÜ£¬¿ÉÒÔʹÓÃRowSetÀ´ÊµÏÖ¡£ RowSet·ÖΪÁ½´óÀࣺ

A. Á¬½ÓÐÍRowSet¡ª¡ªÕâÀà¶ÔÏóÓëÊý¾Ý¿â½øÐÐÁ¬½Ó£¬ºÍResultSetºÜÀàËÆ¡£JDBC½Ó¿ÚÖ»ÌṩÁËÒ»ÖÖÁ¬½ÓÐÍRowSet£¬javax.sql.rowset.JdbcRowSet£¬ËüµÄ±ê׼ʵÏÖÊÇcom.sun.rowset.JdbcRowSetImpl¡£ B. ÀëÏßÐÍRowSet¡ª¡ªÕâÀà¶ÔÏó²»ÐèÒªºÍÊý¾Ý¿â½øÐÐÁ¬½Ó£¬Òò´ËËüÃǸüÇáÁ¿¼¶£¬¸üÈÝÒ×ÐòÁл¯¡£ËüÃÇÊÊÓÃÓÚÔÚÍøÂç¼ä´«µÝÊý¾Ý¡£ÓÐËÄÖÖ²»Í¬µÄÀëÏßÐÍRowSetµÄʵÏÖ¡£

CachedRowSet¡ª¡ª¿ÉÒÔͨ¹ýËûÃÇ»ñÈ¡Á¬½Ó£¬Ö´Ðвéѯ²¢¶ÁÈ¡ResultSetµÄÊý¾Ýµ½RowSetÀï¡£ÎÒÃÇ¿ÉÒÔÔÚÀëÏßʱ¶ÔÊý¾Ý½øÐÐά»¤ºÍ¸üУ¬È»ºóÖØÐÂÁ¬½Óµ½Êý¾Ý¿âÀ²¢»ØÐ´¸Ä¶¯µÄÊý¾Ý¡£ WebRowSet¼Ì³Ð×ÔCachedRowSet¡ª¡ªËû¿ÉÒÔ¶ÁдXMLÎĵµ¡£

JoinRowSet¼Ì³Ð×ÔWebRowSet¡ª¡ªËü²»ÓÃÁ¬½ÓÊý¾Ý¿â¾Í¿ÉÒÔÖ´ÐÐSQLµÄjoin²Ù×÷¡£ FilteredRowSet¼Ì³Ð×ÔWebRowSet¡ª¡ªÎÒÃÇ¿ÉÒÔÓÃËüÀ´ÉèÖùýÂ˹æÔò£¬ÕâÑùÖ»ÓÐÑ¡ÖеÄÊý¾Ý²Å¿É¼û¡£

23.RowSetºÍResultSetµÄÇø±ðÊÇʲô£¿

RowSet¼Ì³Ð×ÔResultSet£¬Òò´ËËüÓÐResultSetµÄÈ«²¿¹¦ÄÜ£¬Í¬Ê±Ëü×Ô¼ºÌí¼ÓÁËЩ¶îÍâµÄÌØÐÔ¡£RowSetÒ»¸ö×î´óµÄºÃ´¦ÊÇËü¿ÉÒÔÊÇÀëÏߵģ¬ÕâÑùʹµÃËü¸üÇáÁ¿¼¶£¬Í¬Ê±±ãÓÚÔÚÍøÂç¼ä½øÐд«Êä¡£

¾ßÌåʹÓÃÄĸöÈ¡¾öÓÚÄãµÄÐèÇ󣬲»¹ýÈç¹ûÄã²Ù×÷ResultSet¶ÔÏóµÄʱ¼ä½Ï³¤µÄ»°£¬×îºÃÑ¡ÔñÒ»¸öÀëÏßµÄRowSet£¬ÕâÑù¿ÉÒÔÊÍ·ÅÊý¾Ý¿âÁ¬½Ó¡£

24.³£¼ûµÄJDBCÒì³£ÓÐÄÄЩ£¿

ÓÐÒÔÏÂÕâЩ£º

java.sql.SQLException¡ª¡ªÕâÊÇJDBCÒì³£µÄ»ùÀà¡£

java.sql.BatchUpdateException¡ª¡ªµ±Åú´¦Àí²Ù×÷Ö´ÐÐʧ°ÜµÄʱºò¿ÉÄÜ»áÅ׳öÕâ¸öÒì³£¡£ÕâÈ¡¾öÓÚ¾ßÌåµÄJDBCÇý¶¯µÄʵÏÖ£¬ËüÒ²¿ÉÄÜÖ±½ÓÅ׳ö»ùÀàÒì³£java.sql.SQLException¡£ java.sql.SQLWarning¡ª¡ªSQL²Ù×÷³öÏֵľ¯¸æÐÅÏ¢¡£

java.sql.DataTruncation¡ª¡ª×Ö¶ÎÖµÓÉÓÚijЩ·ÇÕý³£Ô­Òò±»½Ø¶ÏÁË£¨²»ÊÇÒòΪ³¬¹ý¶ÔÓ¦×Ö¶ÎÀàÐ͵ij¤¶ÈÏÞÖÆ£©¡£

25.JDBCÀïµÄCLOBºÍBLOBÊý¾ÝÀàÐÍ·Ö±ð´ú±íʲô£¿

CLOBÒâ˼ÊÇCharacter Large OBjects£¬×Ö·û´ó¶ÔÏó£¬ËüÊÇÓɵ¥×Ö½Ú×Ö·û×é³ÉµÄ×Ö·û´®Êý¾Ý£¬ÓÐ×Ô¼º×¨ÃŵĴúÂëÒ³¡£ÕâÖÖÊý¾ÝÀàÐÍÊÊÓÃÓÚ´æ´¢³¬³¤µÄÎı¾ÐÅÏ¢£¬ÄÇЩ¿ÉÄܻᳬ³ö±ê×¼µÄVARCHARÊý¾ÝÀàÐͳ¤¶ÈÏÞÖÆ£¨ÉÏÏÞÊÇ32KB£©µÄÎı¾¡£

BLOBÊÇBinary LargetOBject£¬ËüÊǶþ½øÖÆ´ó¶ÔÏó£¬Óɶþ½øÖÆÊý¾Ý×é³É£¬Ã»ÓÐרÃŵĴúÂëÒ³¡£ËüÄÜÓÃÓÚ´æ´¢³¬¹ýVARBINARYÏÞÖÆ£¨32KB£©µÄ¶þ½øÖÆÊý¾Ý¡£ÕâÖÖÊý¾ÝÀàÐÍÊʺϴ洢ͼƬ£¬ÉùÒô£¬Í¼ÐΣ¬»òÕ߯äËüÒµÎñ³ÌÐòÌØ¶¨µÄÊý¾Ý¡£

26.JDBCµÄÔà¶ÁÊÇʲô£¿ÄÄÖÖÊý¾Ý¿â¸ôÀë¼¶±ðÄÜ·ÀÖ¹Ôà¶Á£¿

µ±ÎÒÃÇʹÓÃÊÂÎñʱ£¬ÓпÉÄÜ»á³öÏÖÕâÑùµÄÇé¿ö£¬ÓÐÒ»ÐÐÊý¾Ý¸Õ¸üУ¬Óë´ËͬʱÁíÒ»¸ö²éѯ¶Áµ½ÁËÕâ¸ö¸Õ¸üеÄÖµ¡£ÕâÑù¾Íµ¼ÖÂÁËÔà¶Á£¬ÒòΪ¸üеÄÊý¾Ý»¹Ã»ÓнøÐг־û¯£¬¸üÐÂÕâÐÐÊý¾ÝµÄÒµÎñ¿ÉÄÜ»á½øÐлعö£¬ÕâÑùÕâ¸öÊý¾Ý¾ÍÊÇÎÞЧµÄ¡£

Êý¾Ý¿âµÄTRANSACTIONREADCOMMITTED£¬TRANSACTIONREPEATABLEREAD£¬ºÍTRANSACTION_SERIALIZABLE¸ôÀë¼¶±ð¿ÉÒÔ·ÀÖ¹Ôà¶Á¡£

27.ʲôÊÇÁ½½×¶ÎÌá½»£¿

µ±ÎÒÃÇÔÚ·Ö²¼Ê½ÏµÍ³ÉÏͬʱʹÓöà¸öÊý¾Ý¿âʱ£¬ÕâʱºòÎÒÃǾÍÐèÒªÓõ½Á½½×¶ÎÌύЭÒé¡£Á½½×¶ÎÌύЭÒéÄܱ£Ö¤ÊÇ·Ö²¼Ê½ÏµÍ³Ìá½»µÄÔ­×ÓÐÔ¡£ÔÚµÚÒ»¸ö½×¶Î£¬ÊÂÎñ¹ÜÀíÆ÷·¢ËùÓеÄÊÂÎñ²ÎÓëÕß·¢ËÍÌá½»µÄÇëÇó¡£Èç¹ûËùÓеIJÎÓëÕß¶¼·µ»ØOK£¬Ëü»áÏò²ÎÓëÕßÕýʽÌá½»¸ÃÊÂÎñ¡£Èç¹ûÓÐÈκÎÒ»¸ö²ÎÓë·½·µ»ØÁËÖÐÖ¹ÏûÏ¢£¬ÊÂÎñ¹ÜÀíÆ÷»á»Ø¹öËùÓеÄÐ޸͝×÷¡£

28.JDBCÖдæÔÚÄÄЩ²»Í¬ÀàÐ͵ÄËø£¿

´Ó¹ãÒåÉϽ²£¬ÓÐÁ½ÖÖËø»úÖÆÀ´·ÀÖ¹¶à¸öÓû§Í¬Ê±²Ù×÷ÒýÆðµÄÊý¾ÝË𻵡£

ÀÖ¹ÛËø¡ª¡ªÖ»Óе±¸üÐÂÊý¾ÝµÄʱºò²Å»áËø¶¨¼Ç¼¡£ ±¯¹ÛËø¡ª¡ª´Ó²éѯµ½¸üкÍÌá½»Õû¸ö¹ý³Ì¶¼»á¶ÔÊý¾Ý¼Ç¼½øÐмÓËø¡£

²»½öÈç´Ë£¬Ò»Ð©Êý¾Ý¿âϵͳ»¹ÌṩÁËÐÐËø£¬±íËøµÈËø»úÖÆ¡£

29.DDLºÍDMLÓï¾ä·Ö±ð´ú±íʲô£¿

DDL£¨Êý¾Ý¶¨ÒåÓïÑÔ£¬Data Definition Language£©Óï¾äÓÃÀ´¶¨ÒåÊý¾Ý¿âģʽ¡£Create£¬Alter, Drop, Truncate, Rename¶¼ÊôÓÚDDLÓï¾ä£¬Ò»°ãÀ´Ëµ£¬ËüÃÇÊDz»·µ»Ø½á¹ûµÄ¡£ DML£¨Êý¾Ý²Ù×÷ÓïÑÔ£¬Data Manipulation Language£©Óï¾äÓÃÀ´²Ù×÷Êý¾Ý¿âÖеÄÊý¾Ý¡£select, insert, update, delete, callµÈ£¬¶¼ÊôÓÚDMLÓï¾ä¡£

30.java.util.DateºÍjava.sql.DateÓÐÊ²Ã´Çø±ð£¿

java.util.Date°üº¬ÈÕÆÚºÍʱ¼ä£¬¶øjava.sql.DateÖ»°üº¬ÈÕÆÚÐÅÏ¢£¬¶øÃ»ÓоßÌåµÄʱ¼äÐÅÏ¢¡£Èç¹ûÄãÏë°Ñʱ¼äÐÅÏ¢´æ´¢ÔÚÊý¾Ý¿âÀ¿ÉÒÔ¿¼ÂÇʹÓÃTimestamp»òÕßDateTime×ֶΡ£

31.ÈçºÎ°ÑͼƬ»òÕßԭʼÊý¾Ý²åÈëµ½Êý¾Ý¿âÖУ¿

¿ÉÒÔʹÓÃBLOBÀàÐͽ«Í¼Æ¬»òÕßԭʼµÄ¶þ½øÖÆÊý¾Ý´æ´¢µ½Êý¾Ý¿âÀï¡£

32.ʲôÊǻöÁ£¬ÄÄÖÖ¸ôÀë¼¶±ð¿ÉÒÔ·ÀÖ¹»Ã¶Á£¿

»Ã¶ÁÊÇÖ¸Ò»¸öÊÂÎñ¶à´ÎÖ´ÐÐÒ»Ìõ²éѯ·µ»ØµÄÈ´ÊDz»Í¬µÄÖµ¡£¼ÙÉèÒ»¸öÊÂÎñÕý¸ù¾Ýij¸öÌõ¼þ½øÐÐÊý¾Ý²éѯ£¬È»ºóÁíÒ»¸öÊÂÎñ²åÈëÁËÒ»ÐÐÂú×ãÕâ¸ö²éѯÌõ¼þµÄÊý¾Ý¡£Ö®ºóÕâ¸öÊÂÎñÔÙ´ÎÖ´ÐÐÁËÕâÌõ²éѯ£¬·µ»ØµÄ½á¹û¼¯Öлá°üº¬¸Õ²åÈëµÄÄÇÌõÐÂÊý¾Ý¡£ÕâÐÐÐÂÊý¾Ý±»³ÆÎª»ÃÐУ¬¶øÕâÖÖÏÖÏó¾Í½Ð×ö»Ã¶Á¡£Ö»ÓÐTRANSACTION_SERIALIZABLE¸ôÀë¼¶±ð²ÅÄÜ·ÀÖ¹²úÉú»Ã¶Á¡£

33.SQLWarningÊÇʲô£¬ÔÚ³ÌÐòÖÐÈçºÎ»ñÈ¡SQLWarning£¿

SQLWarningÊÇSQLExceptionµÄ×ÓÀ࣬ͨ¹ýConnection, Statement, ResultµÄgetWarnings·½·¨¶¼¿ÉÒÔ»ñÈ¡µ½Ëü¡£ SQLWarning²»»áÖжϲéѯÓï¾äµÄÖ´ÐУ¬Ö»ÊÇÓÃÀ´ÌáʾÓû§´æÔÚÏà¹ØµÄ¾¯¸æÐÅÏ¢¡£

34.Èç¹ûOracleµÄ´æ´¢¹ý³ÌµÄÈë²Î³ö²ÎÖаüº¬Êý¾Ý¿â¶ÔÏó£¬Ó¦¸ÃÈçºÎ½øÐе÷Óã¿

Èç¹ûOracleµÄ´æ´¢¹ý³ÌµÄÈë²Î³ö²ÎÖаüº¬Êý¾Ý¿â¶ÔÏó£¬ÎÒÃÇÐèÒªÔÚ³ÌÐò´´½¨Ò»¸öͬÑù´óСµÄ¶ÔÏóÊý×飬ȻºóÓÃËüÀ´Éú³ÉOracleµÄSTRUCT¶ÔÏó¡£È»ºó¿ÉÒÔͨ¹ýÊý¾Ý¿â¶ÔÏóµÄ

setSTRUCT·½·¨´«ÈëÕâ¸östruct¶ÔÏ󣬲¢¶ÔËü½øÐÐʹÓá£

35.ʲôÊÇJDBCµÄ×î¼Ñʵ¼ù£¿

ÏÂÃæÁоÙÁËÆäÖеÄһЩ£º

1¡¢ Êý¾Ý¿â×ÊÔ´ÊǷdz£°º¹óµÄ£¬ÓÃÍêÁËÓ¦¸Ã¾¡¿ì¹Ø±ÕËü¡£Connection, Statement,

ResultSetµÈJDBC¶ÔÏó¶¼ÓÐclose·½·¨£¬µ÷ÓÃËü¾ÍºÃÁË¡£

2¡¢ Ñø³ÉÔÚ´úÂëÖÐÏÔʽ¹Ø±ÕµôResultSet£¬Statement£¬ConnectionµÄϰ¹ß£¬Èç¹ûÄãÓõÄÊÇ

Á¬½Ó³ØµÄ»°£¬Á¬½ÓÓÃÍêºó»á·Å»Ø³ØÀµ«ÊÇûÓйرյÄResultSetºÍStatement¾Í»áÔì³É×ÊԴй©ÁË¡£

3¡¢ÔÚfinally¿éÖйرÕ×ÊÔ´£¬±£Ö¤¼´±ã³öÁËÒì³£Ò²ÄÜÕý³£¹Ø±Õ¡£ 4¡¢´óÁ¿ÀàËÆµÄ²éѯӦµ±Ê¹ÓÃÅú´¦ÀíÍê³É¡£

5¡¢¾¡Á¿Ê¹ÓÃPreparedStatement¶ø²»ÊÇStatement£¬ÒÔ±ÜÃâSQL×¢È룬ͬʱ»¹ÄÜͨ¹ýÔ¤±à

ÒëºÍ»º´æ»úÖÆÌáÉýÖ´ÐеÄЧÂÊ¡£

6¡¢Èç¹ûÄãÒª½«´óÁ¿Êý¾Ý¶ÁÈëµ½ResultSetÖУ¬Ó¦¸ÃºÏÀíµÄÉèÖÃfetchSizeÒÔ±ãÌáÉýÐÔÄÜ¡£ 7¡¢ÄãÓõÄÊý¾Ý¿â¿ÉÄÜûÓÐÖ§³ÖËùÓеĸôÀë¼¶±ð£¬ÓÃ֮ǰÏÈ×ÐϸȷÈÏÏ¡£

8¡¢Êý¾Ý¿â¸ôÀë¼¶±ðÔ½¸ßÐÔÄÜÔ½²î£¬È·±£ÄãµÄÊý¾Ý¿âÁ¬½ÓÉèÖõĸôÀë¼¶±ðÊÇ×îÓŵġ£

9¡¢Èç¹ûÔÚWEB³ÌÐòÖд´½¨Êý¾Ý¿âÁ¬½Ó£¬×îºÃͨ¹ýJNDIʹÓÃJDBCµÄÊý¾ÝÔ´£¬ÕâÑù¿ÉÒÔ¶ÔÁ¬

½Ó½øÐÐÖØÓá£

10¡¢Èç¹ûÄãÐèÒª³¤Ê±¼ä¶ÔResultSet½øÐвÙ×÷µÄ»°£¬¾¡Á¿Ê¹ÓÃÀëÏßµÄRowSet¡£

¶þ¡¢JDBCÏà¹Ø²âÊÔÌâ

1.JDBCÁ¬½ÓÊý¾Ý¿â6²½

´ð°¸£ºLoad the JDBC Driver

Establish the Database Connection Create a Statement Object Execute a Query Process the Results Close the Connection

2.ÊÂÎñµÄ4´óÌØÐÔ

´ð°¸£ºÔ­×ÓÐÔA£¬Ò»ÖÂÐÔC£¬¸ôÀëÐÔI£¬ÓÀ¾ÃÐÔD

3.select count£¨*£© from student ºÍselect count£¨id£© from student Ö®¼äµÄÇø±ð¡£

´ð°¸£º

select count(*) ͳ¼ÆËùÓÐѧÉúµÄ¼Ç¼¸öÊý£¬°üÀ¨¿Õ¼Ç¼¡£

Select count(Id) ͳ¼ÆËùÓÐѧÉúµÄ¼Ç¼¸öÊý£¬²»°üÀ¨null¼Ç¼¡£

4.¼ÙÉèÏÖÔÚÓбísystem.table1£¬±íÖÐÓÐÈý¸ö×ֶΣºid(ÊýÖµÐÍ)¡¢name£¨×Ö·ûÐÍ£©¡¢age£¨ÊýÖµÐÍ£©Ð´³öSQLÓï¾äÍê³ÉÈçϹ¦ÄÜ£ºÔÚ±íÖвé³öÄêÁä´óÓÚ20£¬ÇÒÃû×ÖÒÔ¡°Íõ¡±¿ªÍ·µÄ¼Ç¼£¬²¢ÇÒ°´ÕÕÄêÁäµÄµ¹ÐðÅÅÁгöÀ´£¨ÄêÁä´óµÄÔÚÇ°Ãæ£©¡£

´ð°¸£º

Select * from system.table1 where age>20 and name like ¡®Íõ%¡¯ order by age DESC;

5 .´´½¨CUSTOMERS±í£¬×Ö¶ÎΪ£ºID£º£¨·Ç¿Õ£¬Ö÷¼ü£©bigint£¬NAME£º£¨·Ç¿Õ£©varchar£¬AGE£ºintÀàÐÍ£»´´½¨ORDERS±í£¬×Ö¶ÎΪ£ºID£º£¨·Ç¿Õ£¬Ö÷¼ü£¬£©bigint£¬ORDER_NUMBER£º£¨·Ç¿Õ£©varchar£¬PRICE£ºdouble£¬CUSTOMER_ID £º£¨Íâ¼ü£©bigint£¬ÉèÖü¶Á¬É¾³ý£»

´ð°¸£º

create table CUSTOMBERS(ID bigint not null,NAMEvarchar(15),AGE int,primary key (ID)); create table ORDERS(ID bigint not null,ORDER_NUMBERvarchar(15) not nulll,PRICE double precision,CUSTOMER_IDbigint,primary key(ID),);

alter table ORDERS add constraint FK_CUSTOMER foreign key (CUSTOMER_ID) references CUSTOMERS(ID) on delete cascade;

6.ʹÓÃ×óÍâÁ¬½Ó²éѯ£¬ORDERS ºÍ CUSTOMERS ±í£¬

´ð°¸£º

select c.ID, o.CUSTOMER_ID,c.NAME, o.ID ORDER_ID,ORDER_NUMBER from CUSTOMERS c left outer join ORDERS o no c.ID=o.CUSTOMER_ID;

7 .¼òÊöÊý¾Ý¿âÊÂÎñµÄÉúÃüÖÜÆÚ£¿£¨¿É»­Á÷³Ìͼ£©

´ð°¸£ºÎÞ¡£

8.delete from tablea& truncate table tableaµÄÇø±ð

´ð°¸£º

truncate Óï¾äÖ´ÐÐËÙ¶È¿ì,Õ¼×ÊÔ´ÉÙ,²¢ÇÒÖ»¼Ç¼ҳɾ³ýµÄÈÕÖ¾£» delete ¶ÔÿÌõ¼Ç¼µÄɾ³ý¾ùÐèÒª¼Ç¼ÈÕÖ¾

Èý¡¢JDBCÏà¹Ø²âÊÔÌ⣨¶þ£©

Ñ¡ÔñÌâ

1. ÓйØJDBCµÄÑ¡ÏîÕýÈ·µÄÊÇÄÄÒ»¸ö£¿

A. JDBCÊÇÒ»ÖÖ±»Éè¼Æ³ÉͨÓõÄÊý¾Ý¿âÁ¬½Ó¼¼Êõ£¬JDBC¼¼Êõ²»¹â¿ÉÒÔÓ¦ÓÃÔÚJava³Ì

ÐòÀïÃæ£¬»¹¿ÉÒÔÓÃÔÚC++ÕâÑùµÄ³ÌÐòÀïÃæ¡£

B. JDBC¼¼ÊõÊÇSUN¹«Ë¾Éè¼Æ³öÀ´×¨ÃÅÓÃÔÚÁ¬½ÓOracleÊý¾Ý¿âµÄ¼¼Êõ£¬Á¬½ÓÆäËûµÄ

Êý¾Ý¿âÖ»ÄܲÉÓÃ΢ÈíµÄODBC½â¾ö·½°¸

C. ΢ÈíµÄODBCºÍSUN¹«Ë¾µÄJDBC½â¾ö·½°¸¶¼ÄÜʵÏÖ¿çÆ½Ì¨Ê¹Óã¬Ö»ÊÇJDBCµÄÐÔÄÜ

Òª¸ßÓÚODBC

D. JDBCÖ»ÊǸö³éÏóµÄµ÷Óù淶£¬µ×²ã³ÌÐòʵ¼ÊÉÏÒªÒÀÀµÓÚÿÖÖÊý¾Ý¿âµÄÇý¶¯Îļþ 2. Ñ¡ÔñJDBC¿ÉÒÔÖ´ÐеÄÓï¾ä£¨¶àÑ¡£© A. DDL B. DCL C. DML D. ÒÔÉ϶¼¿ÉÒÔ

3. Ñ¡ÔñJava³ÌÐò¿ª·¢ÖÐÍÆ¼öʹÓõij£ÓÃÊý¾Ý¿â£¨¶àÑ¡£© a. Oracle

b. SQL Server 2000 c. MySQL

d. DB2

4. Äĸö²»ÊÇJDBCÓõ½µÄ½Ó¿ÚºÍÀࣿ a. System b. Class c. Connection d. ResultSet

5. ʹÓÃConnection µÄÄĸö·½·¨¿ÉÒÔ½¨Á¢Ò»¸öPreparedStatement½Ó¿Ú£¿

A. createPrepareStatement() B. prepareStatement()

C. createPreparedStatement() D. preparedStatement() 6. ÏÂÃæµÄÃèÊöÕýÈ·µÄÊÇʲô£¿

A. PreparedStatement¼Ì³Ð×ÔStatement B. Statement¼Ì³Ð×ÔPreparedStatement C. ResultSet¼Ì³Ð×ÔStatement

D. CallableStatement¼Ì³Ð×ÔPreparedStatement 7. ÏÂÃæµÄÃèÊö´íÎóµÄÊÇʲô£¿

A. StatementµÄexecuteQuery()·½·¨»á·µ»ØÒ»¸ö½á¹û¼¯

B. StatementµÄexecuteUpdate()·½·¨»á·µ»ØÊÇ·ñ¸üгɹ¦µÄbooleanÖµ C. ʹÓÃResultSetÖеÄgetString()¿ÉÒÔ»ñµÃÒ»¸ö¶ÔÓ¦ÓÚÊý¾Ý¿âÖÐcharÀàÐ͵Ä

Öµ

D. ResultSetÖеÄnext()·½·¨»áʹ½á¹û¼¯ÖеÄÏÂÒ»ÐгÉΪµ±Ç°ÐÐ 8. Èç¹ûÊý¾Ý¿âÖÐij¸ö×Ö¶ÎΪnumbericÐÍ,¿ÉÒÔͨ¹ý½á¹û¼¯ÖеÄÄĸö·½·¨»ñÈ¡£¿

A. getNumberic() B. getDouble() C. getBigDecimal () D. getFloat()

9. ÔÚJdbcÖÐʹÓÃÊÂÎñ,ÏëÒª»Ø¹öÊÂÎñÊÂÎñµÄ·½·¨ÊÇʲô£¿

A. ConnectionµÄcommit() B. ConnectionµÄsetAutoCommit() C. ConnectionµÄrollback() D. ConnectionµÄclose()

10. ÔÚJDBC±à³ÌÖÐÖ´ÐÐÍêÏÂÁÐSQLÓï¾äSELECT name, rank, serialNo

FROM employee£¬Äܵõ½rsµÄµÚÒ»ÁÐÊý¾ÝµÄ´úÂëÊÇÄÄÁ½¸ö£¿ A. rs.getString(0); B. rs.getString(\C. rs.getString(1); D. rs.getString(\

11. ÏÂÃæ¹ØÓÚPreparedStatementµÄ˵·¨´íÎóµÄÊÇʲô

A. PreparedStatement¼Ì³ÐÁËStatement B. PreparedStatement¿ÉÒÔÓÐЧµÄ·ÀÖ¹SQL×¢Èë C. PreparedStatement²»ÄÜÓÃÓÚÅúÁ¿¸üеIJÙ×÷

D. PreparedStatement¿ÉÒÔ´æ´¢Ô¤±àÒëµÄStatement£¬´Ó¶øÌáÉýÖ´ÐÐЧÂÊ 12. ÏÂÃæµÄÑ¡Ïî¼ÓÔØMySQLÇý¶¯ÕýÈ·µÄÊÇÄÄÒ»¸ö£¿

A. Class.forname(\B. Class.forname(\C. Class.forname(\D. Class.forname(\13. ÏÂÃæµÄÑ¡Ïî¼ÓÔØMySQLÇý¶¯ÕýÈ·µÄÊÇÄÄÒ»¸ö£¿

A. Class.forname(\B. Class.forname(\C. Class.forname(\D. Class.forname(\14. ÏÂÃæ´úÂë¼ÓÔØOracleÇý¶¯ÕýÈ·µÄÊÇÄÄÒ»¸ö£¿

A. DriverManager.register(\B. DriverManager.forname(\C. DriverManager.load(\

D. DriverManager.newInstance(\15. ÓйØConnectionÃèÊö´íÎóµÄÊÇÄÄÒ»¸ö£¿

A. ConnectionÊÇJava³ÌÐòÓëÊý¾Ý¿â½¨Á¢µÄÁ¬½Ó¶ÔÏó£¬Õâ¸ö¶ÔÏóÖ»ÄÜÓÃÀ´Á¬½Ó

Êý¾Ý¿â£¬²»ÄÜÖ´ÐÐSQLÓï¾ä¡£

B. JDBCµÄÊý¾Ý¿âÊÂÎï¿ØÖÆÒª¿¿Connection¶ÔÏóÍê³É¡£

C. Connection¶ÔÏóʹÓÃÍê±ÏºóÒª¼°Ê±¹Ø±Õ£¬·ñÔò»á¶ÔÊý¾Ý¿âÔì³É¸ºµ£¡£ D. Ö»ÓÃMySQLºÍOracleÊý¾Ý¿âµÄJDBC³ÌÐòÐèÒª´´½¨Connection¶ÔÏ󣬯äËû

Êý¾Ý¿âµÄJDBC³ÌÐò²»Óô´½¨Connection¶ÔÏó¾Í¿ÉÒÔÖ´ÐÐCRUD²Ù×÷¡£

16. ÏÂÃæÓйØJDBCÊÂÎïµÄÃèÊöÕýÈ·µÄÊÇÄÄÒ»¸ö£¿

A. JDBCÊÂÎïĬÈÏΪ×Ô¶¯Ìá½»£¬Ã»Ö´ÐÐÒ»ÌõSQLÓï¾ä¾Í»á¿ªÆôÒ»¸öÊÂÎִÐÐÍê±Ï

Ö®ºó×Ô¶¯Ìá½»ÊÂÎÈç¹û³öÏÖÒì³£×Ô¶¯»Ø¹öÊÂÎï¡£

B. JDBCµÄÊÂÎﲻͬÓÚÊý¾Ý¿âµÄÊÂÎJDBCµÄÊÂÎïÒÀÀµÓÚJDBCÇý¶¯Îļþ£¬ÓµÓÐ

¶ÀÁ¢ÓÚÊý¾Ý¿âµÄÈÕÖ¾Îļþ£¬Òò´ËJDBCµÄÊÂÎï¿ÉÒÔÌæ´úÊý¾Ý¿âÊÂÎï¡£ C. Èç¹ûÐèÒª¿ªÆôÊÖ¶¯Ìá½»ÊÂÎïÐèÒªµ÷ÓÃConnection¶ÔÏóµÄstart()·½·¨¡£ D. Èç¹ûÊÂÎïûÓÐÌá½»¾Í¹Ø±ÕÁËConnectionÁ¬½Ó£¬ÄÇôJDBC»á×Ô¶¯Ìá½»ÊÂÎï¡£ 17. ÏÂÁеÄÔ¤±àÒëSQLÄÄÒ»¸öÊÇÕýÈ·µÄ£¿

A. SELECT* FROM £¿;

B. SELECT ?,?,? FROM emp ;

C. SELECT * FROM emp WHERE salary>(?) D. ÒÔÉ϶¼²»¶Ô

18. ÄÜÖ´ÐÐÔ¤±àÒëSQLµÄÊÇÄÄÒ»¸öÑ¡Ï

A. Statement

B. PreparedStatement C. PrepareStatement D. ÒÔÉ϶¼²»ÊÇ

19. Èç¹ûΪÏÂÁÐÔ¤±àÒëSQLµÄµÚÈý¸öÎʺŸ³Öµ£¬ÄÇôÕýÈ·µÄÑ¡ÏîÊÇÄÄÒ»¸ö£¿

UPDATE emp SET ename=?,job=?,salary=? WHERE empno=?; A. pst.setInt(\B. pst.setInt(3,2000);

C. pst.setFloat(\D. pst.setString(\20. ÓйØPreparedStatement˵·¨ÕýÈ·µÄÊÇÄÄÒ»¸ö£¿

A. ¸Ã¶ÔÏóÖ»ÄÜÖ´ÐдøÎʺÅռλ·ûµÄÔ¤±àÒëSQL£¬²»ÄÜÖ´ÐÐSQLÓï¾ä¡£ B. ¸Ã¶ÔÏóÖ´ÐеÄʱºò£¬Ö»ÄÜÖ´ÐвéѯÓï¾ä£¬ÆäËûÔ¤±àÒëSQLÓï¾äÖ»ÄÜÓÉ

StatementÖ´ÐС£

C. ¸Ã¶ÔÏóÒòΪֻÄÜÖ´ÐвéѯÓï¾ä£¬ËùÒԸöÔÏó²»ÄÜÓÃÔÚJDBCÊÂÎïÖС£ D. ¸Ã¶ÔÏóÓëÒ»ÌõSQLÔ¤±àÒëÓï¾ä°ó¶¨£¬²»ÄÜÖ´ÐÐÆäËûÔ¤±àÒëSQLÓï¾ä¡£ 21. ÓйØÔ¤±àÒëSQLµÄÓеã˵·¨´íÎóµÄÊÇÄÄÒ»¸ö£¿

A. Ô¤±àÒëSQL¿ÉÒÔ±»PreparedStatement·´¸´Ö´ÐÐ

B. Ô¤±àÒëSQLÓï¾äÔÚPreparedStatement¶ÔÏó´´½¨Ö®ºó¾Í±»´«µÝ¸øÊý¾Ý¿â½âÎö£¬

Ö®ºóPreparedStatementÖ´ÐÐÔ¤±àÒëµÄʱºò£¬Æäʵ´«µÝ¸øÊý¾Ý¿âµÄÖ»ÓÐռλ·ûµÄ²ÎÊý¡£Èç¹ûÐèÒªÅúÁ¿²åÈë1000Ìõ¼Ç¼µÄʱºò£¬Ô¤±àÒëSQLÖ»±»Êý¾Ý¿â½âÎöÒ»´Î£¬ÆäÓà¶¼ÊÇÊý¾Ý¿â½ÓÊܲÎÊýÊý¾ÝÈ»ºóÖ´ÐУ¬ÕâÑùµÄËÙ¶È´óΪÌá¸ß¡£ C. Ô¤±àÒëSQLµÄ°²È«ÐԺ㬿ÉÒÔµÖÓùÊý¾Ý¿â½Å±¾×¢Èë¹¥»÷£¬¶øÕâÈ´ÊÇStatement

Ëù²»¾ß±¸µÄ¡£

D. Ô¤±àÒëSQLµÄռλ·û¼È¿ÉÒÔÌæ´úÊý¾Ý±í£¬Ò²¿ÉÒÔÌæ´ú±í´ïʽµÄÊý¾Ý£¬ÉõÖÁÊÇ×Ó

²éѯÓï¾ä¡£

22. ÏÂÁÐÑ¡ÏîÓйØResultSet˵·¨´íÎóµÄÊÇÄÄÒ»¸ö£¿

A. ResultSetÊDzéѯ½á¹û¼¯¶ÔÏó£¬Èç¹ûJDBCÖ´ÐвéѯÓï¾äûÓвéѯµ½Êý¾Ý£¬ÄÇ

ôResultSet½«»áÊÇnullÖµ¡£

B. ÅжÏResultSetÊÇ·ñ´æÔÚ²éѯ½á¹û¼¯£¬¿ÉÒÔµ÷ÓÃËüµÄnext()·½·¨¡£ C. Èç¹ûConnection¶ÔÏ󹨱գ¬ÄÇôResultSetÒ²ÎÞ·¨Ê¹Óá£

D. Èç¹ûÒ»¸öÊÂÎïûÓÐÌá½»£¬ÄÇôResultSetÖÐÊÇ¿´²»µ½ÊÂÎï¹ý³ÌÖеÄÁÙʱÊý¾Ý¡£ 23. SELECT COUNT(*) FROM emp;ÕâÌõSQLÓï¾äÖ´ÐУ¬Èç¹ûÔ±¹¤±íÖÐûÓÐÈκÎÊý¾Ý£¬

ÄÇôResultSetÖн«»áÊÇʲôÑù×Ó£¿ A. null B. ÓÐÊý¾Ý

C. ²»Îªnull£¬µ«ÊÇûÓÐÊý¾Ý D. ÒÔÉ϶¼Ñ¡Ïî¶¼²»¶Ô

24. ÏÂÃæÑ¡ÏîµÄMySQLÊý¾Ý¿âURLÕýÈ·µÄÊÇÄÄÒ»¸ö£¿

A. jdbc:mysql://localhost/company B. jdbc:mysql://localhost:3306:company C. jdbc:mysql://localhost:3306/company D. jdbc:mysql://localhost/3306/company 25. ±àдJDBCµÄʱºòÏÂÁÐÑ¡ÏîÄÄÒ»¸ö´íÎóµÄʹÓÃÁËij¸ö°üµÄÀࣿ

A. java.sql.Connection B. java.sql.Statement

C. java.sql.PreparedStatement D. java.sql.Driver

±à³ÌÌâ

¶àÄêÒÔÀ´£¬ÎÒ¹úµÄÆ¡¾ÆÉú²úÆóÒµÒ»Ö±ÊÇȺÐÛ¸î¾Ý¡¢¸÷×ÔΪսµÄ¾ÖÃæ¡£¸÷µØ¶¼ÓÐ×Ô¼ºµÄÉú²úÆóÒµ£¬ËüÃÇÊܵ½µØ·½Ö÷ÒåµÄ±£»¤£¬ÆóÒµ¹æÄ£Ð¡£¬¾­ÓªÒµ¼¨²»¼Ñ£¬µÖÓùÊг¡·çÏÕµÄÄÜÁ¦²î¡£½ü¼¸ÄêÀ´£¬ÕâÖÖ¸ñ¾ÖÕýÔÚ±»´òÆÆ£¬¹úÄÚµÄһЩơ¾Æ¾ÞÍ·£¬ÈçÇൺơ¾Æ¡¢Ñྩơ¾ÆµÈ£¬¿ªÊ¼½øÐÐ¿çµØÇøµÄ´ó¹æÄ£ÖØ×飬¶ÔÊг¡½øÐÐÖØÐÂÕûºÏ£¬Öð²½À©´óÆóÒµµÄÉú²ú¹æÄ££¬ÐγÉеÄÊг¡¾ºÕùÓÅÊÆ£¬±ÈÈ磬Çൺơ¾ÆÄ¿Ç°ÔÚ¹úÄÚÒÑÓÐ48¼ÒÉú²úÆóÒµ¡£

Æ¡¾ÆµÄÉú²úºÍÏúÊÛËùÐèµÄʱ¼äÏà¶ÔÒ²±È½Ï¶Ì£¬¿â´æÁ¿±È½ÏµÍ¡£Ô­ÒòÊÇÆ¡¾ÆÔÚ¶Ìʱ¼äÄÚ¿ÉÄÜ»á±äÖÊ£¬¶ø¿â´æ·ÑÓúÍÉú²ú·ÑÓÃÏà¶ÔÒ²±È½Ï¸ß¡£Òª¼õÉÙ¿â´æÁ¿£¬ÓÖÒª±£³Ö½ÏÇ¿µÄÊг¡¾ºÕùÄÜÁ¦£¬¾ÍÐèÒª¶ÔÉú²úºÍÐèÇóÁ¿µÄ±ä»¯×ö³öѸËÙ·´Ó¦¡£Õâ¾ÍÒªÇó¶ÔÐèÇóÁ¿×ö³ö¿ÆÑ§µÄÔ¤²â£¬ÒÔ×÷ÎªÖÆ¶¨ÏÂÒ»Äê¶ÈÉú²ú¼Æ»®µÄÒÀ¾Ý¡£

Äþ²¨Ò»¼ÒÆ¡¾ÆÉú²úÆóÒµÏÖÕý×ÅÊÖÖÆ¶¨2009ÄêµÄÉú²ú¼Æ»®£¬Õâ¾ÍÐèÒª¶ÔÊг¡ÐèÇóÁ¿×ö³öÔ¤²â£¬×÷ÎªÖÆ¶¨¼Æ»®µÄ²Î¿¼ÒÀ¾Ý¡£¾­ÀíÊÒÒªÇó²ÆÎñ²¿¸ºÔð²âË㹤×÷£¬²¢Ìá³öÔ¤²âÊý¾Ý¡£¼Æ»®²ÆÎñ²¿ÈÏΪÆóÒµ×î½üÊ®ÎåÄêµÄÏúÊÛÊý¾Ý¶ÔÔ¤²âÓÐÓã¬ÓÚÊÇÕÒÀ´ÆóÒµÀúÄêµÄÏúÊÛÊý¾ÝÈçÏÂ±í£º

ÐòºÅ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Äê·Ý 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 ¼¾¶È£¨µ¥Î»£ºÍò¶Ö£© Ò» 6 9 13 15 18 22 23 25 30 29 30 29 31 33 34 ¶þ 7 12 14 18 20 24 26 32 38 39 39 42 43 45 46 Èý 9 13 17 19 24 29 32 37 42 50 51 55 54 58 60 ËÄ 8 10 13 14 19 23 24 26 30 35 37 38 41 42 45 ºÏ¼Æ 30 44 57 66 81 98 105 120 140 153 157 164 169 178 185 ±àд³ÌÐòÍê³ÉÈçÏÂÒªÇó£º

1.±àдJDBC³ÌÐò´´½¨Êý¾Ýoutput±í£¬±í½á¹¹ÈçÏÂ

ÁÐÃû num year q1 q2 q3 q4 total Êý¾ÝÀàÐÍ number(10) number(4) number(10) number(10) number(10) number(10) number(10) Ö÷¼ü ÊÇ ·Ç¿Õ ÊÇ ÊÇ ÊÇ ÊÇ ÊÇ ÊÇ Î¨Ò» ÊÇ Ë÷Òý ÊÇ ±¸×¢ ÐòºÅ Äê·Ý µÚÒ»¼¾²úÁ¿ µÚ¶þ¼¾²úÁ¿ µÚÈý¼¾²úÁ¿ µÚËļ¾²úÁ¿ Äê²úÁ¿ 2. ±àдJDBC³ÌÐò½«±í1ÖеÄÊý¾Ý²åÈëµ½Êý¾Ý¿â£¬ÒªÇóʹÓÃÕûÌåÐÔÊÂÎñ£¬²»ÊÇû²åÈëÒ»ÌõÌá½»Ò»´ÎÊÂÎñ¡£

3. ±àдJDBC³ÌÐò¶ÁÈ¡Êý¾Ý¿âÖеÄÊý¾Ý£¬ÔÚ¿ØÖÆÌ¨Êä³öÄêÔö³¤Á¿µÄƽ¾ùÖµ

4. ÀûÓÃÊý¾Ý±íÖÐ×î½üËÄÄêµÄÊý¾ÝÔ¤²âδÀ´ÎåÄêÖÐÿÄêÆ¡¾ÆµÄ²úÁ¿Êý¾Ý£¨Ëĸö¼¾¶ÈºÍ×ܲú

Á¿£©£¬Êä³öµ½¿ØÖÆÌ¨ÉÏÃæ¡£

5. Óû§ÔÚ¿ØÖÆÌ¨ÉÏÃæÊäÈëÒ»¸öÈÎÒâµÄÄê·Ý£¬½«¸ÃÄêµÄ¼Ç¼´òÓ¡µ½¿ØÖÆÌ¨ÉÏÃæ£¬ÐèÒªÊä³öÄê·Ý¡¢Ëĸö¼¾¶ÈµÄ²úÁ¿ºÍÄê×ܲúÁ¿

(1) Èç¹ûÓû§ÊäÈëµÄÊÇ1995ÄêÒÔǰµÄÄê·Ý£¬¿ØÖÆÌ¨Êä³ö¡°Ã»ÓÐÊý¾Ý¡±

(2) Èç¹ûÓû§ÊäÈëµÄÊÇ1995-2009ÄêÖ®¼äµÄÄê·Ý£¬Êä³öµÄÊý¾Ý´ÓÊý¾Ý¿âÖвéѯ (3) Èç¹ûÊäÈëµÄÊÇ2009ÄêÒÔºóµÄÄê·Ý£¬Êä³öµÄÊý¾ÝÊÇÔ¤²âµÄÊý¾Ý£¨²Î¼ûµÚËÄÌâµÄ˼·£©

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)