扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
ConnectionDriver×¢ÊÍ
¡¡¡¡ConnectionDriverÓÃÓÚ×¢ÊÍJDBC¿Ø¼þµÄ¼Ì³ÐÀ࣬¿ØÖÆJDBC¿Ø¼þÔÚ·ÃÎÊÊý¾Ý¿âµÄʱºòͨ¹ýDriverManager»ñÈ¡Êý¾Ý¿âÁ¬½Ó¡£ConnectionDriver×¢ÊÍÖ§³Ö5¸ö²ÎÊý£ºdatabaseDriverClass¡¢databaseURL¡¢userName¡¢password¡¢properties¡£
¡¡¡¡StringÀàÐÍ£¬ÓÃÓÚÉ趨Êý¾Ý¿âÇý¶¯ÀàµÄÈ«Ãû¡£Ê¹ÓÃConnectionDriver×¢ÊÍʱ±ØÐëÉèÖõIJÎÊý¡£
¡¡¡¡ ±ÈÈç·ÃÎÊMySQLÊý¾Ý¿â£¬¿ÉÒÔʹÓÃdatabaseDriverClass= ¡°org.gjt.mm.mysql.Driver¡±£¬·ÃÎÊOracleÊý¾Ý¿âµÄʱºò¿ÉÒÔʹÓÃdatabaseDriverClass= ¡°oracle.jdbc.driver.OracleDriver¡±
¡¡¡¡StringÀàÐÍ£¬ÓÃÓÚÉ趨Êý¾Ý¿â·ÃÎʵÄJDBC URL£¬Ê¹ÓÃConnectionDriver×¢ÊÍʱ±ØÐëÉèÖõIJÎÊý¡£
¡¡¡¡ ±ÈÈç·ÃÎÊMySQL¿ÉÒÔʹÓÃdatabaseURL=¡° jdbc:mysql://localhost/estore¡±£¬·ÃÎÊOracleÊý¾Ý¿âʱ¿ÉÒÔʹÓÃdatabaseURL=¡° jdbc:oracle:thin:@localhost:1521:www¡±
¡¡¡¡StringÀàÐÍ£¬ÉèÖ÷ÃÎÊÊý¾Ý¿âʱʹÓõÄÓû§Ãû£¬¿ÉÑ¡²ÎÊý¡£
¡¡¡¡StringÀàÐÍ£¬ÉèÖ÷ÃÎÊÊý¾Ý¿âʱʹÓõÄÃÜÂ룬¿ÉÑ¡²ÎÊý¡£
¡¡¡¡StringÀàÐÍ£¬ÉèÖ÷ÃÎÊÊý¾Ý¿âʱµÄһЩÆäËü²ÎÊý£¬¿ÉÒÔÒ»´ÎÐÔ´«µÝ¶à¸ö²ÎÊý£¬Á½¸ö²ÎÊýÖ®¼äÓöººÅ¸ô¿ª¡£
¡¡¡¡ÔÚ¡¶µÚÒ»¸öJDBC¿Ø¼þµÄÀý×Ó¡·ÖУ¬ÎÒÃÇÌṩµÄ´úÂëÒѾÑÝʾÁËÈçºÎʹÓÃConnectionDriver×¢ÊÍJDBC¿Ø¼þ£¬Çë²Î¼û Çåµ¥2 ¡£
¡¡¡¡ConnectionDriver×¢Ê͵ÄJDBC¿Ø¼þÔËÐÐʱ£¬±ØÐë±£Ö¤databaseDriverClassÖÐÖ¸¶¨µÄÊý¾Ý¿âÇý¶¯ÀàλÓÚclasspathÖУ¬·ñÔò¿Ø¼þÔËÐÐʱ½«Å׳öÎ¥Àý¡£
ConnectionDataSource×¢ÊÍ
¡¡¡¡ConnectionDataSource×¢ÊÍÓÃÓÚÖ¸¶¨JDBC¿Ø¼þÔÚ·ÃÎÊÊý¾Ý¿âʱͨ¹ýDataSource»ñÈ¡Êý¾Ý¿âÁ¬½Ó£¬ËüÓÐÁ½¸öÊôÐÔ£ºjndiNameºÍjndiContextFactory¡£
¡¡¡¡StringÀàÐÍ£¬ÓÃÓÚÉèÖÃDataSourceÔÚÄ¿±êÈÝÆ÷ÄÚµÄjndiNameÊôÐÔ
¡¡¡¡ClassÀàÐÍ£¬ÓÃÓÚÉèÖÃÊý¾Ý¿â·ÃÎÊʱ¿ÉÒÔ»ñÈ¡jndiÉÏÏÂÎÄ»·¾³µÄÀ࣬±»´«ÈëµÄ²ÎÊýÀà±ØÐë¼Ì³Ðorg.apache.beehive.controls.system.jdbc.JdbcControl. JndiContextFactoryÀ࣬²¢ÇÒ¸²¸ÇJndiContextFactoryÀàµÄgetContext()·½·¨£¬getContext()½«»ñÈ¡·ÃÎÊÄ¿±êÈÝÆ÷µÄÉÏÏÂÎÄ»·¾³(Context)¡£
¡¡¡¡ ÏÂÃæµÄÕ½ÚÖÐÎÒÃǽ«¿´µ½ÈçºÎͨ¹ýJDBC¿Ø¼þºÍConnectionDataSource×¢ÊÍ·ÃÎÊTomcat·þÎñÆ÷£¬»ñÈ¡jndiNameΪjndi/samplesDataSourceµÄDataSource×ÊÔ´£¬¸ÃDataSourceÁ¬½Óµ½MySQLÊý¾Ý¿âµÄDemoʵÀý£¬WebÓ¦Óò¿ÊðÔÚTomcat»·¾³ÖС£
¡¡¡¡ÈçºÎ´´½¨Tomcat»·¾³ÏµÄDataSource×ÊÔ´Çë²Î¿¼TomcatµÄ°ïÖúÎĵµ¡£
¡¡¡¡<resource-ref>
¡¡¡¡ <description>Datasource example</description>
¡¡¡¡ <res-ref-name>jndi/samplesDataSource</res-ref-name>
¡¡¡¡ <res-type>javax.sql.DataSource</res-type>
¡¡¡¡ <res-auth>Container</res-auth>
¡¡¡¡ </resource-ref>
¡¡¡¡JndiContextFactoryÀà¼Ì³Ð×ÔJdbcControl.JndiContextFactory¸¸À࣬¸²¸Ç¸¸ÀàÖеijéÏó·½·¨----getContext()£¬Çåµ¥3 ÖÐÏÔʾÁËJndiContextFactoryÀඨÒåºÍʵÏÖµÄÍêÕû´úÂë¡£
¡¡¡¡Çåµ¥3 src\ org\vivianj\beehive\controls\examples\controls\
¡¡¡¡ jndicontext\JndiContextFactory.java
1. package org.vivianj.beehive.controls.examples.controls.jndicontext;
2.
3. import java.util.Hashtable;
4.
5. import javax.naming.Context;
6. import javax.naming.InitialContext;
7.
8. import org.apache.beehive.controls.system.jdbc.JdbcControl;
9.
10. /**
11. * JndiContextFactory ÓÃÓÚ´ÓTomcat·þÎñÆ÷ÖлñÈ¡·ÃÎÊJNDIÄÚÈݵÄÉÏÏÂÎÄ»·¾³
12. */
13. public class JndiContextFactory extends JdbcControl.JndiContextFactory {
14. /**
15. * »ñµÃ±¾µØTomcat·þÎñÆ÷ÖзÃÎÊJNDIÄÚÈݵÄÉÏÏÂÎÄ»·¾³
16. *
17. */
18. public Context getContext() {
19.
20. Context ctx = null;
21.
22. try {
23. ctx = (Context)(new InitialContext().lookup("java:/comp/env"));
24. } catch (Exception e) {
25.
26. }
27.
28. return ctx;
29. }
30. }
ÎÒÃÇ¿ÉÒÔʹÓÃConnectionDataSource×¢ÊͺÍд´½¨µÄJndiContextFactoryÀàÀ´×¢ÊÍJDBC¿Ø¼þÁË¡£
¡¡¡¡ÏÂÃæµÄ´úÂëƬ¶Ï¾ÍÊÇÒ»¸ö¼òµ¥µÄÀý×Ó£¬Ê¹ÓÃÕâ¶Î´úÂë×¢Ê͵ÄJDBC¿Ø¼þ£¬µ÷ÓÃÈκÎÒµÎñ·½·¨Ê±£¬½«Í¨¹ý±¾µØTomcat·þÎñÆ÷ÉÏ¡¢JNDIÃûΪ¡°jndi/ samplesDataSource¡±µÄDataSource×ÊÔ´»ñÈ¡Êý¾Ý¿âÁ¬½Ó¡£
¡¡¡¡ @JdbcControl.ConnectionDataSource(
¡¡¡¡ jndiName = "jndi/samplesDataSource",
¡¡¡¡ jndiContextFactory=JndiContextFactory.class)
ConnectionOptions×¢ÊÍ
¡¡¡¡ConnectionOptions¿ÉÒÔÓÃÓÚ¶¨Òå·ÃÎÊÊý¾Ý¿âʱµÄһЩÀ©Õ¹ÌØÐÔ£¬¿ÉÒÔÑ¡ÔñÐԵĺÍConnectionDataSource»òÕßConnectionDriverÒ»ÆðʹÓá£ConnectionOptionsÖ§³ÖÈý¸ö²ÎÊý£ºreadOnly¡¢resultSetHoldability¡¢typeMappers¡£
SQL×¢ÊÍ
statement±àд¹æÔò
statement´´½¨ÊµÀý
@SQL(statement=¡°{sql: totalsql}¡± ) Public Demo[] getDemos(String totalsql);
@SQL(statement = ¡°select id,name,value from demo where name like {sql: name}¡±) public Demo[] getDemosFilterByName(String name);
@SQL(statement=¡°call sp_updateData({keyVal}, {intVal})¡± void call_sp_updateCust(short keyVal, int intVal);
¿Ø¼þ·µ»ØÀàÐÍ
ʹÓÿؼþ·µ»Ø¼òµ¥×Ö¶Î
@SQL(statement = ¡°select count(*) from demo¡±) public int getDemosCount();]
@SQL(statement = ¡°select count(*) from demo¡±) public Integer getDemosCount();
ʹÓÿؼþ·µ»Øµ¥Ìõ¼Ç¼
¡¡¡¡ÕâÖÖÇé¿öÏ£¬¿Ø¼þ½«ÔÚSQLÓï¾äÖ´ÐнáÊøºó£¬×Ô¶¯¹¹ÔìÒ»¸ö·µ»Ø½á¹ûÉùÃ÷ÀàÐ͵ĶÔÏ󣬵÷ÓÃËüµÄÏà¹Øsetter·½·¨³õʼ»¯Õâ¸ö¶ÔÏó£¬È»ºó·µ»ØÕâ¸ö¶ÔÏó¡£Èç¹û³õʼ»¯¹ý³ÌÖÐûÓÐÕÒµ½ºÏÊʵÄsetter·½·¨£¬ÏµÍ³½«Å׳öÎ¥ÀýÐÅÏ¢¡£
¡¡¡¡ ÎÒÃÇ¿ÉÒÔͨ¹ýÈçϵÄÉùÃ÷£¬¿ØÖƿؼþÔÚµ÷Óú󷵻ØÒ»¸öDemo¶ÔÏó£º
@SQL(statement = ¡°select id,name,value from demo where id={demoId}¡±) public Demo getDemoById(int demoId) ;¿ÉÉùÃ÷Ϊ·µ»ØJavaBeanÀàÐ͵ÄJavaÀà±ØÐë·ûºÏÒÔÏÂÌõ¼þ£º
- JavaÀà±ØÐëÌṩºÍstatementÖÐÉùÃ÷µÄ·µ»Ø×ֶζÔÓ¦µÄgetterºÍsetter·½·¨¡£ÕâЩgetterºÍsetter·½·¨±ØÐëÖ§³Ö´óСдÃô¸Ð¡£JavaÀàÖбØÐë°üº¬µ«²»½öÏÞÓÚÕâЩgetterºÍsetter·½·¨¡£
- JavaÀàÖÐÿ¸ögetterºÍsetter·½·¨¶¨ÒåµÄÊý¾ÝÀàÐͱØÐëºÍÊý¾Ý¿â±íÖеÄÊý¾ÝÀàÐͱ£³ÖÒ»Ö¡£
- Èç¹û¸ÃJavaÀàÊÇij¸öÀàµÄÄÚ²¿À࣬ÄÇôÕâ¸öÀà±ØÐëʹÓÃpublic static¹Ø¼ü×Ö¶¨ÒåÀàÉùÃ÷¡£
- ·µ»ØMap£¨»òÕßHashMap£©¶ÔÏó
¡¡¡¡ÔÚ²»È·¶¨·µ»Ø¶ÔÏóÏêϸÐÅÏ¢µÄÇé¿öÏ£¬ÎÒÃÇ¿ÉÒÔÉùÃ÷·µ»Ø¶ÔÏóÀàÐÍΪMap£¨»òÕßHashMap£©£¬ÕâÖÖÇé¿öÏ£¬¿Ø¼þÔÚSQLµ÷ÓÃÍê³ÉÒԺ󣬽«µ÷ÓÃMap£¨»òÕßHashMap£©µÄput·½·¨£¬½«·µ»Ø½á¹ûÓ³ÉäΪMap£¨»òÕßHashMap£©¶ÔÏ󣬷µ»ØMap£¨»òÕßHashMap£©¶ÔÏó¶ÔÏóÖмü--Öµ¶ÔµÄ¼ü¾ÍÊÇÊý¾Ý±í×Ö¶ÎÃû³Æ£¬¼üÊÇ´óСдÃô¸ÐµÄ£¬·µ»ØMap£¨»òÕßHashMap£©¶ÔÏóÖеÄËùÓмü¶¼±»±ä³ÉÁË´óд×Öĸ£¬Öµ¾ÍÊÇÊý¾Ý±í×ֶΰüº¬µÄÖµ£¬ÖµµÄÀàÐͺÍÊý¾Ý¿âÖжÔÓ¦×ֶεÄÀàÐÍÓйء£
¡¡¡¡ ÎÒÃÇ¿ÉÒÔͨ¹ýÈçϵÄÉùÃ÷£¬¿ØÖƿؼþÔÚµ÷Óú󷵻ØÒ»¸öMap£¨»òÕßHashMap£©¶ÔÏó£º
@SQL(statement = ¡°select id,name,value from demo where id={demoId}¡±) public HashMap getDemoById(int demoId) ;¡¡¡¡ÔÚÒµÎñ·½·¨ÉùÃ÷Ϊ·µ»Øµ¥Ìõ¼Ç¼ʱ£¬Èç¹û¸Ã¼Ç¼µÄ¶ÔÓ¦×Ö¶ÎΪ¿Õ£¬ÄÇô·µ»Ø½á¹ûµÄ¶ÔÓ¦×ֶν«¸ù¾Ý¶ÔÓ¦ÊôÐÔµÄÀàÐͱ»³õʼ»¯null¡¢0»òÕßfalse£¬Èç¹ûSQLÓï¾äʵ¼ÊÖ´ÐÐʱûÓÐÕÒµ½·ûºÏÌõ¼þµÄ¼Ç¼£¬¿Ø¼þµÄĬÈÏ·µ»Ø½á¹ûΪnull£¬Èç¹ûSQLÓï¾äʵ¼ÊÖ´ÐÐʱ·µ»ØÁ˶àÌõ¼Ç¼£¬ÄÇô¿Ø¼þ½«Ä¬ÈϽ«·ûºÏÌõ¼þµÄµÚÒ»Ìõ¼Ç¼×÷Ϊ·µ»Ø½á¹û¡£
ʹÓÿؼþ·µ»Ø¶àÌõ¼Ç¼
¡¡¡¡SQL²éѯÓï¾äµÄ·µ»Ø½á¹ûͨ³£ÊÇÒ»¸öÒÔÉϵļǼ£¬JDBC¿Ø¼þÖ§³ÖʹÓÃÊý×é¡¢Iterator¶ÔÏó¡¢ResultSet¶ÔÏóºÍXMLBeans¶ÔÏóÀ´·µ»Ø¿ÉÄܵĶàÌõ¼Ç¼¡£¿Ø¼þ¿ª·¢ÕßÐèÒª¸ù¾Ý²»Í¬µÄÇé¿öÑ¡ÔñºÏÊʵķµ»Ø¶ÔÏ󣬼ÈÒª¿¼ÂÇÈÿؼþʹÓÃÕß²Ù×÷¼òµ¥£¬Ò²Òª¿¼ÂÇ¿ÉÄÜÒýÆðµÄÆäËûÎÊÌâ¡£
¡¡¡¡ ʹÓÃÊý×é·µ»Ø¶àÌõ¼Ç¼¶Ô¿Ø¼þʹÓÃÕ߶øÑÔÊÇ×îºÃµÄ·½Ê½£¬ÒòΪÊý×éµÄ±éÀú²»ÐèÒª¸ü¶àµÄJavaAPI֪ʶ¡£È»¶øÊý×éÖ»ÄÜÔÚÊý¾Ý¿â²Ù×÷Íê³ÉÒÔºóÒ»´ÎÐÔÉú³É£¬Òò´ËÕû¸öResultSet¶ÔÏ󽫱»»º´æ£¬ËùÒÔÈç¹û²éѯ½á¹ûÊÇÒ»¸ö·Ç³£´óµÄResultSetµÄʱºò£¬¿ÉÄÜ»áÔì³ÉϵͳÄÚ´æºÄ¾¡µÄÇé¿ö£¬ÕâÖÖÇé¿öÏ£¬Ê¹ÓÃÊý×é·µ»Ø¶àÌõ¼Ç¼µÄ¿Ø¼þ¿ª·¢Õß±ØÐ뿼ÂÇÊý¾ÝµÄ·ÖÅúÌáÈ¡²ßÂÔ¡£
¡¡¡¡ ʹÓÃIterator¶ÔÏ󷵻ضàÌõ¼Ç¼¶Ô¿Ø¼þµÄʹÓÃÕßÌá³öÁ˸ü¸ßµÄÒªÇó£¬ÕâÖÖÇé¿öÏ£¬Iterator¶ÔÏó·â×°ÁËResulSetµÄÊý¾Ý»ñÈ¡ÐÐΪ£¬¿Ø¼þʹÓÃÕßÔÚµ÷ÓÃIterator¶ÔÏóµÄnext·½·¨Ê±£¬ÈÝÆ÷»áµ÷ÓÃResultSetµÄ¶ÔÓ¦·½·¨´ÓÊý¾Ý¿âÖлñÈ¡¶ÔÓ¦µÄ¼Ç¼£¬ÕâÖÖ·½Ê½²»´æÔÚResultSet¼¯´ó»òÕßСµÄÎÊÌâ¡£µ±Ê±ÕâÖÖ·½Ê½²»ÊʺÏÔÚPageFlowÖÐʹÓã¬ÒòΪPageFlowµÄActionµ÷ÓÃÍê³ÉºóÌøתµ½ÏÔʾҳÃæʹÓÃIterator¶ÔÏóʱ£¬Êý¾Ý¿âÁ¬½Óͨ³£ÒѾ±»¹Ø±ÕÁË£¬ResultSetÒѾÎÞ·¨»ñÈ¡ÏàÓ¦µÄÊý¾ÝÁË£¬ËùÒÔIterator¶ÔÏóÖеÄÊý¾ÝÒ²ÎÞ·¨µÃµ½¡£
¡¡¡¡ JDBC¿Ø¼þÒ²Ö§³ÖÖ±½Ó·µ»ØResulSet¶ÔÏó£¬ÒÔ±ã¿Ø¼þʹÓÃÕßÄܹ»×ÔÓɵĿØÖÆSQLÓï¾ä²Ù×÷½á¹û¡£
- ÈçºÎʹÓÃÊý×é·µ»Ø¶àÌõ¼Ç¼
¡¡¡¡ÕâÖÖÇé¿öÏÂÄã¿ÉÒÔÓÐÁ½ÖÖÑ¡Ôñ£º·µ»ØJavaBean¶ÔÏóÊý×é»òÕßMap£¨»òÕßHashMap£©Êý×é¡£ÕâÁ½ÖÖÇé¿öµÄÇø±ðÇë²Î¿¼Õ½Ú<<ÈçºÎ·µ»Øµ¥Ìõ¼Ç¼>>ÖеÄÏà¹ØÄÚÈÝ¡£
¡¡¡¡ ÎÒÃÇ¿ÉÒÔʹÓÃÏÂÃæÕâ¶Î´úÂëÉùÃ÷ÒµÎñ·½·¨·µ»ØJavaBean¶ÔÏóÊý×飺
@SQL(statement = ¡°select id,name,value from demo¡±) public Demo[] getDemos() ;¡¡¡¡Èç¹ûÐèÒªÉùÃ÷ÒµÎñ·½·¨·µ»ØµÄ½á¹û±»·â×°³ÉMap£¨»òÕßHashMap£©Êý×飬Çë²Î¿¼Ê¹ÓÃÏÂÃæµÄÕâ¶Î´úÂ룺
@SQL(statement = ¡°select id,name,value from demo¡±) public Map[] getDemos() ;¡¡¡¡Èç¹ûSQLÓï¾äÖ´ÐкóûÓзûºÏÌõ¼þµÄ¼Ç¼·µ»Ø£¬ÉÏÃæµÄÕâÁ½ÖÖÇé¿öϽ«·µ»ØÒ»¸ö³¤¶ÈΪ0µÄÊý×é¡£
- ÈçºÎʹÓÃIterator¶ÔÏ󷵻ضàÌõ¼Ç¼
¡¡¡¡ºÍÉÏÃæµÄÇé¿öÒ»Ñù£¬Äã¿ÉÒÔÑ¡ÔñIteratorÖаüº¬µÄ¶ÔÏóÊÇJavaBean¶ÔÏó»òÕßÊÇMap£¨»òÕßHashMap£©¶ÔÏó¡£
¡¡¡¡ ÎÒÃÇ¿ÉÒÔʹÓÃÏÂÃæÕâ¶Î´úÂëÉùÃ÷ÒµÎñ·½·¨·µ»ØIteratorÖаüº¬µÄÊÇJavaBean¶ÔÏó£º
@SQL(statement = ¡°select id,name,value from demo¡±, iteratorElementType=Demo.class) public java.util.Iterator getDemos() ;¡¡¡¡Èç¹ûÐèÒªÉùÃ÷ÒµÎñ·½·¨·µ»ØµÄIteratorÖÐʹÓÃMap£¨»òÕßHashMap£©·â×°µ¥Ìõ¼Ç¼µÄËùÓÐÊôÐÔ£¬Çë²Î¿¼Ê¹ÓÃÏÂÃæµÄÕâ¶Î´úÂ룬ÆäÖеÄiteratorElementTypeÉùÃ÷·µ»ØIterator½á¹ûÖаüº¬µÄÊÇHashMap¶ÔÏó£º
@SQL(statement = ¡°select id,name,value from demo¡±, iteratorElementType=java.util.HashMap.class) public java.util.Iterator getDemos() ;¡¡¡¡ºóÃæÕâÖÖÇé¿öÏ£¬·µ»Ø½á¹ûÖеÄHashMap¶ÔÏóµÄËùÓмü(Key)¶¼ÒѾ±»±ä³ÉÁË´óд£¬¿Ø¼þʹÓÃÕßÔÚ·ÃÎÊʱÇë×¢ÒâÕâÒ»µã£¬²»È»¿ÉÄÜÒýÆð³ÌÐòµÄ²»Õý³£ÔËÐС£
- ÈçºÎʹÓÃResultSet¶ÔÏ󷵻ضàÌõ¼Ç¼
¡¡¡¡ÕâÖÖ·½Ê½µÄÉùÃ÷´úÂëÈçÏ£º
@SQL(statement=¡°SELECT * FROM customer¡±) public java.sql.ResultSet findAllCustomersResultSet();¡¡¡¡»ùÓÚ´ó¼ÒÊìÖªµÄÐÔÄÜ·½ÃæµÄ¿¼ÂÇ£¬²»ÍƼö¿Ø¼þ¿ª·¢ÕßʹÓÃÕâÖÖ·½Ê½À´·µ»Ø¶àÌõ¼Ç¼¡£
½áÊøÓï
¡¡¡¡Êý¾Ý¿â×ÊÔ´ÊÇÆóÒµÓ¦ÓÃÖеÄÖ÷Òª×ÊÔ´ÐÎʽ֮һ£¬ËùÒÔÈçºÎ·ÃÎÊÊý¾Ý¿â×ÊÔ´ÊÇÆóÒµÓ¦ÓÃÖеÄÖØÒªÄÚÈÝ¡£¿Ø¼þ¼Ü¹¹ÖеÄJDBC¿Ø¼þ´ó´óµÄ¼ò»¯ÁËÊý¾Ý¿â·ÃÎÊ×ÊÔ´µÄ¸´ÔÓÐÔ¡¢ÄѶȣ¬¿ª·¢ÕßÖ»ÐèҪͨ¹ý¼òµ¥µÄ¼Ì³Ðorg.apache.beehive.controls.system.jdbc.JdbcControl£¬È»ºóͨ¹ýÌṩÏàÓ¦µÄ×¢Ê;ͿÉÒÔÍê³ÉÊý¾Ý¿â×ÊÔ´µÄ·ÃÎʺͲÙ×÷½á¹ûµÄ·µ»Ø¡£
¡¡¡¡ ±¾ÎÄÖУ¬×÷ÕßÊ×ÏÈͨ¹ý¼òµ¥µÄÀý×Ó½éÉÜÁËJDBC¿Ø¼þʹÓõĻù±¾²½Ö裬ȻºóÏêϸµÄ½éÉÜÁËJDBC¿Ø¼þÌṩµÄÖ÷ҪעÊͺÍʹÓ÷½·¨£¬×îºó½éÉÜÁËÈçºÎͨ¹ýJDBC¿Ø¼þ·µ»Ø²Ù×÷½á¹ûµÄ·½Ê½·½·¨¡£
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者