ËùÓеÄJDBCÓ¦ÓóÌÐò¶¼¾ßÓÐÏÂÃæµÄ»ù±¾Á÷³Ì£º
¡¡¡¡1¡¢½¨Á¢µ½Êý¾Ý¿âµÄÁ¬½Ó¡£
¡¡¡¡2¡¢Ö´ÐÐSQLÓï¾ä¡£
¡¡¡¡3¡¢´¦Àí½á¹û¡£
¡¡¡¡4¡¢´ÓÊý¾Ý¿â¶Ï¿ªÁ¬½Ó¡£
¡¡¡¡ÏÂÃæÎÒÃǾÍÀ´×Ðϸ¿´Ò»¿´Ã¿Ò»¸ö²½Öè¡£
¡¡¡¡½¨Á¢µ½Êý¾Ý¿âµÄÁ¬½Ó
¡¡¡¡Í¨¹ýJDBCʹÓÃÊý¾Ý¿âµÄµÚÒ»²½¾ÍÊǽ¨Á¢Ò»¸öÁ¬½Ó¡£JDBCÁ¬½ÓÊÇÓÉURLÖ¸¶¨µÄ£¬ËüµÄ¸ñʽÈçÏ£º
¡¡¡¡jdbc::
¡¡¡¡ÆäÖÐsubprotocolÊDZ»ÇëÇóµÄÊý¾Ý¿âÁ¬½ÓµÄÀàÐÍ£¨ÈçODBC£¬ORACLE£¬InformixµÈµÈ£©£¬¶øsubnameÌṩÁËËùÒª½¨Á¢µÄÁ¬½ÓµÄһЩ¸½¼ÓÐÅÏ¢¡£µ±JDBCÇý¶¯³ÌÐò¹ÜÀíÆ÷ÊÕµ½Ò»¸öÁ¬½ÓµÄURLʱ£¬ËùÓÐÒÑÖªµÄJDBCÇý¶¯³ÌÐò»á±»Ñ¯ÎÊÊÇ·ñ¿ÉÒÔΪÕâ¸öURL·þÎñ¡£ÇëÇóÒ»¸öͨ¹ýJDBC-ODBCÇŵ½½Ð×öMyDataµÄODBCÊý¾ÝÔ´µÄÁ¬½ÓµÄÀý×ÓÈçÏ£º
¡¡¡¡Connection con = DriverManage.getconnection(¡°jdbc:odbc:MyData¡±);
¡¡¡¡¿´ÉÏÈ¥Ò»Çж¼ºÜ˳Àû£¬µ«ÊÇJDBCÇý¶¯³ÌÐò¹ÜÀíÆ÷ÊÇÔõô֪µÀÄÄЩJDBCÇý¶¯³ÌÐòÔÚµ±Ç°µÄϵͳÖпÉÓÃÄØ£¿ÓÐÁ½ÖÖ»úÖÆ¿ÉÒÔ֪ͨÇý¶¯³ÌÐò¹ÜÀíÆ÷Ò»¸öJDBCÇý¶¯³ÌÐò¿ÉÒÔʹÓãºsql.driversÊôÐÔºÍJDBCÇý¶¯³ÌÐò×¢²á¡£
¡¡¡¡Çý¶¯³ÌÐò¹ÜÀíÆ÷ÒýÓÃsql.driversϵͳÊôÐÔÀ´È¡µÃµ±Ç°ÏµÍ³ÖпÉÓõÄJDBCÇý¶¯³ÌÐòÁÐ±í¡£Õâ¸öϵͳÊôÐÔ°üº¬Ò»Ð©ÓÃðºÅ¸ô¿ªµÄJDBCÇý¶¯³ÌÐòµÄÀàÃû£¬Í¨¹ýÕâ¸öÀàÃû£¬Çý¶¯³ÌÐò¹ÜÀíÆ÷¿ÉÒÔÊÔͼÂú×ãÒ»¸öÁ¬½ÓÇëÇó¡£
¡¡¡¡Ê¹ÓÃÇý¶¯³ÌÐò×¢²á¸üΪ³£¼û¡£ÕâÖÖ·½·¨Ê¹Äã¶ÔÄãҪʹÓõÄJDBCÇý¶¯³ÌÐòÓиü¶àµÄ¿ØÖÆ¡£ËùÓеÄJDBCÇý¶¯³ÌÐòÔÚʵÀý»¯µÄʱºò¶¼±ØÐëÔÚÇý¶¯³ÌÐò¹ÜÀíÆ÷ÖÐ×¢²á×Ô¼º£¬×¢²á¿ÉÒÔͨ¹ýÏÂÁÐÁ½¸ö·½·¨À´ÊµÏÖ£º
¡¡¡¡1.Class.forName(¡°foo.Driver¡±).newInstance();
¡¡¡¡2.new foo.Driver();
¡¡¡¡ÎÒ¸öÈ˱ȽÏϲ»¶Ê¹ÓÃClass.forName()ÕâÖÖ·½·¨£¬²»¹ýÕâÁ½ÖÖ·½·¨µÄЧ¹ûÊÇÏàͬµÄ¡£JDBCÇý¶¯³ÌÐòÓÃÇý¶¯³ÌÐò¹ÜÀíÆ÷×¢²á×Ô¼º£¬ÕâÑù£¬Ëü¾Í¿ÉÒÔΪÁ¬½ÓÇëÇó·þÎñÁË¡£
¡¡¡¡Ö´ÐÐSQLÓï¾ä
¡¡¡¡ÔÚÊý¾Ý¿âÁ¬½Ó³É¹¦½¨Á¢Ö®ºó£¬ÎÒÃǾͿÉÒÔÖ´ÐÐÄÇЩÍê³Éʵ¼Ê¹¤×÷µÄSQLÓï¾äÁË¡£ÔÚÖ´ÐÐSQLÓï¾ä֮ǰ£¬ÎÒÃDZØÐëÊ×ÏÈ´´½¨Ò»¸öÓï¾ä¶ÔÏó£¬Õâ¸ö¶ÔÏóÌṩÁ˵½Ìض¨Êý¾Ý¿âSQLÒýÇæµÄ½Ó¿Ú¡£ÓÐÏÂÁÐÈýÖÖ²»Í¬ÀàÐ͵ÄÓï¾ä¶ÔÏó£º
¡¡¡¡1.Statement¡ª¡ª»ù±¾µÄÓï¾ä¶ÔÏó£¬ËüÌṩÁËÖ±½ÓÔÚÊý¾Ý¿âÖÐÖ´ÐÐSQLÓï¾äµÄ·½·¨¡£¶ÔÓÚÄÇЩִֻÐÐÒ»´ÎµÄ²éѯÒÔ¼°DDLÓï¾äÈçCREATE TABLE£¬DROP TABLEµÈµÈÀ´Ëµ£¬statement¶ÔÏó¾Í×ã¹»ÁË¡£
¡¡¡¡2.Prepared statement¡ª¡ªÕâÖÖÓï¾ä¶ÔÏóÓÃÓÚÄÇЩÐèÒªÖ´Ðжà´Î£¬Ã¿´Î½ö½öÊÇÊý¾Ýȡֵ²»Í¬µÄSQLÓï¾ä£¬Ëü»¹ÌṩÁËһЩ·½·¨£¬ÒÔ±ãÖ¸³öÓï¾äËùʹÓõÄÊäÈë²ÎÊý¡£
¡¡¡¡3.Callable statement¡ª¡ªÕâÖÖÓï¾ä¶ÔÏó±»ÓÃÀ´·ÃÎÊÊý¾Ý¿âÖеĴ洢¹ý³Ì¡£ËüÌṩÁËһЩ·½·¨À´Ö¸¶¨Óï¾äËùʹÓõÄÊäÈëÊä³ö²ÎÊý¡£
¡¡¡¡ÏÂÃæÊÇÒ»¸öÓÃÓï¾äÀàÀ´Ö´ÐÐSQL SELECTÓï¾äµÄÒ»¸öÀý×Ó£º
¡¡¡¡Statement stmt = con.createStatement();
¡¡¡¡ResultSet rs = stmt.executeQuery(¡°SELECT * FROM MyTable¡±);
¡¡¡¡´¦Àí½á¹û
¡¡¡¡ÔÚÖ´ÐÐÁËÒ»¸öSQLÓï¾äÖ®ºó£¬ÎÒÃDZØÐë´¦ÀíµÃµ½µÄ½á¹û¡£ÓÐЩÓï¾ä½ö½ö·µ»ØÒ»¸öÕûÐÎÊý£¬Ö¸³öÊܵ½Ó°ÏìµÄÐÐÊý£¨±ÈÈçUPDATEºÍDELETEÓï¾ä£©¡£SQL²éѯ£¨SELECTÓï¾ä£©·µ»ØÒ»¸öº¬Óвéѯ½á¹ûµÄ½á¹û¼¯¡£½á¹û¼¯ÓÉÐкÍÁÐ×é³É£¬¸÷ÁÐÊý¾Ý¿ÉÒÔͨ¹ýÏàÓ¦Êý¾Ý¿âÀàÐ͵ÄһϵÁÐget·½·¨£¨ÈçgetString£¬getInt£¬getDateµÈµÈ£©À´È¡µÃ¡£ÔÚÈ¡µÃÁËÒ»ÐÐÊý¾ÝµÄËùÓÐÊý¾ÝÖ®ºó£¬ÎÒÃÇ¿ÉÒÔµ÷ÓÃnext()·½·¨À´ÒƵ½½á¹û¼¯ÖеÄÏÂÒ»Ìõ¼Ç¼¡£JDBC¹æ·¶µÄ1.1°æÖ»ÔÊÐíforward-onle(Ö»Ïòǰ)Ð͵ÄÓα꣬¶øÔÚJDBC2.0ÖÐÓиü½¡×³µÄÓÎ±ê¿ØÖÆ¹¦ÄÜ£¬ÎÒÃÇ¿ÉÒÔÏòºóÒÆ¶¯ÓÎ±ê¶øÇÒ¿ÉÒÔ½«ÓαêÒÆ¶¯µ½Ö¸¶¨ÐС£
¡¡¡¡´ÓÊý¾Ý¿â¶Ï¿ªÁ¬½Ó
¡¡¡¡ÔÚ½á¹û¼¯¡¢Óï¾äºÍÁ¬½Ó¶ÔÏóÓÃÍêÒÔºó£¬ÎÒÃDZØÐëÕýÈ·µØ¹Ø±ÕËüÃÇ¡£Á¬½Ó¶ÔÏó¡¢½á¹û¼¯¶ÔÏóÒÔ¼°ËùÓеÄÓï¾ä¶ÔÏó¶¼ÓÐclose()·½·¨£¬Í¨¹ýµ÷ÓÃÕâ¸ö·½·¨£¬ÎÒÃÇ¿ÉÒÔÈ·±£ÕýÈ·ÊÍ·ÅÓëÌØ¶¨Êý¾Ý¿âϵͳÏà¹ØµÄËùÓÐ×ÊÔ´¡£
¡¡¡¡ÓÐЩ¿ª·¢Õßϲ»¶½«ÒýÓÃÂÒ·Å£¬È»ºóÓÃÒ»¸öÀ¬»øÊÕ¼¯³ÌÐòרߺÔðÕýÈ·Çå³ý¶ÔÏó¡£ÎÒÇ¿ÁÒ½¨Òé´ó¼ÒÔÚʹÓÃÁËJDBCÇý¶¯³ÌÐòÖ®ºóµ÷ÓÃclose()·½·¨¡£ÕâÑù¿ÉÒÔ¾¡¿ÉÄܵļõÉÙÓÉÓÚ¹ÒÆðµÄ¶ÔÏó²ÐÁôÔÚÊý¾Ý¿âϵͳÖжøÔì³ÉµÄÄÚ´æÐ¹Â©¡£