JDBC常用連接寫法(包括MySQL、Oracle、Sybase、SQLServer、DB2)_第1頁
JDBC常用連接寫法(包括MySQL、Oracle、Sybase、SQLServer、DB2)_第2頁
JDBC常用連接寫法(包括MySQL、Oracle、Sybase、SQLServer、DB2)_第3頁
JDBC常用連接寫法(包括MySQL、Oracle、Sybase、SQLServer、DB2)_第4頁
JDBC常用連接寫法(包括MySQL、Oracle、Sybase、SQLServer、DB2)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、JDBC常用連接寫法(包括MySQL、Oracle、Sybase、SQLServer、DB2)  2011-01-18 20:11:45|  分類: 編程 JAVA|舉報|字號 訂閱1. MySQL()mm.mysql-2.0.2-bin.jarClass.forName( "org.gjt.mm.mysql.Driver" );cn = DriverManager.getConnection( "jdbc:mysql:/MyDbComputerNameOrIP:3306/myDatabaseName&q

2、uot;, sUsr, sPwd );2. PostgreSQL()pgjdbc2.jarClass.forName( "org.postgresql.Driver" );cn = DriverManager.getConnection( "jdbc:postgresql:/MyDbComputerNameOrIP/myDatabaseName", sUsr, sPwd );3. Oracle(Class.forName( "oracle.jdbc.driver.OracleDriver&q

3、uot; );cn = DriverManager.getConnection( "jdbc:oracle:thin:MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd );4. Sybase()jconn2.jarClass.forName( "com.sybase.jdbc2.jdbc.SybDriver" );cn = DriverManager.getConnection( "jdbc:sybase:Tds:MyDbComputerNameOrIP:2638", sUsr, sPwd );/

4、(Default-Username/Password: "dba"/"sql")5. Microsoft SQLServer()Class.forName( "net.sourceforge.jtds.jdbc.Driver" );cn = DriverManager.getConnection( "jdbc:jtds:sqlserver:/MyDbComputerNameOrIP:1433/master", sUsr, sPwd );6. Microsoft SQLServer()Class.forName( &

5、quot;com.microsoft.jdbc.sqlserver.SQLServerDriver" );cn = DriverManager.getConnection( "jdbc:microsoft:sqlserver:/localhost:1433;databaseName=pubs", sUsr, sPwd );7. ODBCClass.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );Connection cn = DriverManager.getConnection( "jdbc:od

6、bc:" + sDsn, sUsr, sPwd );8.DB2(新添加)Class.forName(".DB2Driver");String url="jdbc:db2:/08:6789/SAMPLE"cn = DriverManager.getConnection( url, sUsr, sPwd );9.Microsoft SQL Server series (6.5, 7.x and 2000) and Sybase 10JDBC Name: jTDSURL: Version: 0.5.1Download

7、URL: 語法:Class.forName("net.sourceforge.jtds.jdbc.Driver ");Connection con = DriverManager.getConnection("jdbc:jtds:sqlserver:/host:port/database","user","password");orConnection con = DriverManager.getConnection("jdbc:jtds:sybase:/host:port/database&

8、quot;,"user","password");10.PostgresqlJDBC Name: PostgreSQL JDBCURL: /Version: 7.3.3 build 110Download URL: /download.html語法:Class.forName("org.postgresql.Driver"); Connection con=DriverManager.getConnecti

9、on("jdbc:postgresql:/host:port/database","user","password");11.IBM AS400主機在用的JDBC語法有裝V4R4以上版本的Client Access Express可以在C:Program FilesIBMClient Accessjt400lib找到 driver 檔案 jt400.zip,并更改擴展名成為 jt400.jar語法:java.sql.DriverManager.registerDriver (new com.ibm.as400.access.AS400

10、JDBCDriver ();Class.forName("com.ibm.as400.access.AS400JDBCConnection");con = DriverManager.getConnection("jdbc:as400:/IP","user","password");12.informixClass.forName("rmix.jdbc.IfxDriver").newInstance(); String url = "jdbc:inf

11、ormix-sqli:/9:1533/testDB:INFORMIXSERVER=myserver; user=testuser;password=testpassword"Lib:jdbcdrv.zip<br><br>Class.forName( "com.sybase.jdbc.SybDriver" )url="jdbc:sybase:Tds::2638/asademo"SybConnection connection= (SybConnection)DriverMa

12、nager.getConnection(url,"dba","sql");13.SAP DBClass.forName ("com.sap.dbtech.jdbc.DriverSapDB");java.sql.Connection connection = java.sql.DriverManager.getConnection ( "jdbc:sapdb:/" + host + "/" + database_name,user_name, password)14.InterBaseString

13、 url = "jdbc:interbase:/localhost/e:/testbed/database/employee.gdb"Class.forName("erclient.Driver");/Driver d = new erclient.Driver (); /* this will also work if you do not want the line above */Connection conn = DriverManager.getConnection( url, "s

14、ysdba", "masterkey" );15.HSqlDBurl:     driver: org.hsqldb.jdbcDriver連接方式有4種,分別為:con-str(內存): jdbc:hsqldb.con-str(本地): jdbc:hsqldb:/path/to/the/db/dircon-str(http): jdbc:hsqldb:http:/dbsrvcon-str(hsql): jdbc:hsqldb:hsql:/dbsrv一、直連接數據庫1 Java 連接 OralceClass

15、.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:localhost:1521:orcl"   Connection conn= DriverManager.getConnection(url,user,password); 2 Java 連接 MySQLClass.forName("org.gjt.mm.mysql.Driver ").newInstance();String U

16、RL = "jdbc:mysql:/localhost/test"Connection conn= DriverManager.getConnection(url,user,password);3 Java 連接SQLServerClass.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver ").newInstance();String URL =” jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=pubs" Connectio

17、n conn= DriverManager.getConnection(url,user,password);4 Java 連接DB2Class.forName(“com.ibm.db2.jdbc.app.DB2Driver ").newInstance();String URL =”jdbc:db2:/localhost:5000/sample" Connection conn= DriverManager.getConnection(url,user,password);5 Java 連接 InfomixClass.forName("rmix.

18、jdbc.IfxDriver ").newInstance();String URL jdbc:informix-sqli:/9:1533/testDB:INFORMIXSERVER=myserverConnection conn= DriverManager.getConnection(url,user,password);6 Java 連接 SyBaseClass.forName("com.sybase.jdbc.SybDriver").newInstance();Properties sysProps = System.getPrope

19、rties(); SysProps.put("user","userid"); SysProps.put("password","user_password"); Connection conn= DriverManager.getConnection(url, SysProps);7 Java連接 PostgreSQLClass.forName("org.postgresql.Driver").newInstance(); String url ="jdbc:postgresql:/

20、localhost/soft" Connection conn= DriverManager.getConnection(url,user,password);二、 tomcat連接數據庫(JNDI連接)1、先在自己應用程序WEB-INF目錄下的web.xml添加以下語句: <resource-ref>    <descrtiption>引用資源說明</descrtiption>    <res-ref-name>引用資源的JNDI名</res-ref-name

21、>    <res-type>引用資源的類名</res-type>    <res-auth>管理者(Container)</res-auth><!-Container容器管理 ApplicationWeb應用管理-></resource-ref>      然后在tomcat目錄/conf/server.xml文件里相應的<Context>元素,添加如下子元素:<Resource name

22、="引用資源的JNDI名" auth="Container" type="javax.sql.DataSource" driverClassName="com.pointbase.jdbc.jdbcUniversalDriver(自己的jdbc驅動)" url="jdbc:pointbase:server:/localhost/acme(數據庫連接url)" username="root(用戶名)" password="root(密碼)

23、" maxActive="20(連接池dbcp的相關配置)" maxIdle="10" maxWait="10000"/>2、例子:以下是我的假設的項目ACMEWeb:     在相應程序的web.xml里添加 <web-app .>      .    <resource-ref>      <res-ref-name>jd

24、bc/AcmeDB</res-ref-name>      <res-type>javax.sql.DataSource</res-type>      <res-auth>Container</res-auth>    </resource-ref></web-app>     然后再server.xml里修改:  <Cont

25、ext path="/ACMEWeb" reloadable="true" docBase="E:eclipseprojectACMEWeb" workDir="E:eclipseprojectACMEWebwork">         <Resource name="jdbc/AcmeDB" auth="Container" type="javax.sql.DataSour

26、ce" driverClassName="com.pointbase.jdbc.jdbcUniversalDriver" url="jdbc:pointbase:server:/localhost/acme" username="root" password="root" maxActive="20" maxIdle="10" maxWait="10000"/></Context>    

27、 建議你把上面的內容編寫成為一個xml文件,拷到conf/Catalina/<主機名>/文件夾下-<Resource   auth="Container(管理者)"   name="jdbc/DBDeveloper(引用資源的JNDI名)"   type="javax.sql.DataSource(引用資源的類名)"/>     <ResourceParams   name="jdbc/

28、DBDeveloper(引用資源的JNDI名)">     <parameter>     <name>maxActive</name>     <value>20</value>     </parameter>     <parameter>     <name>maxIdle</name>

29、     <value>10</value>     </parameter>     <parameter>     <name>maxWait</name>     <value>-1</value>     </parameter>       

30、      <!-   SQL   Server   2000   ->     <parameter><name>username</name><value>sa</value></parameter>     <parameter><name>password</name><value&g

31、t;enter</value></parameter>     <parameter>     <name>driverClassName</name>     <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value></parameter>     <parameter>    

32、; <name>url</name>     <value>jdbc:microsoft:sqlserver:/infor:1433;DatabaseName=infordb</value>     </parameter>                 <!-   Oracle8i   -

33、>     <!-     <parameter>     <name>factory</name>     <value>mons.dbcp.BasicDataSourceFactory</value>     </parameter>     <parameter>     <nam

34、e>driverClassName</name>             <value>oracle.jdbc.driver.OracleDriver</value>     </parameter>     <parameter>     <name>url</name>    

35、; <value>jdbc:oracle:thin:70:1521:infordb</value>     </parameter>     <parameter>     <name>username</name>     <value>system</value>     </parameter> 

36、60;   <parameter>     <name>password</name>     <value>manager</value>     </parameter>     ->         <!-   DB2   ->     <

37、;!-     <parameter>     <name>driverClassName</name>     <value>COM.DB2Driver</value>     </parameter>     <parameter>     <name>url</name>   

38、0; <value>jdbc:db2:/infor/infordb</value>     </parameter>     <parameter>     <name>username</name>     <value>db2admin</value>     </parameter>     <pa

39、rameter>     <name>password</name>     <value>db2admin</value>     </parameter>     ->             </ResourceParams>  -JNDI是J2EE中一個很重要的標準,通常我們是

40、在EJB編程中用到, Tomcat4.0中提供了在JSP和Servelt中直接使用JNDI的方法,下面談一下在Tomcat4.0中配置和使用JNDI的方法 (以通過JNDI連接數據庫為例) 假設使用的數據庫是mysql,實驗例子在TOMCAT_HOME/webapps/DBTest目錄中 A.將mysql的JDBC連接庫mm.mysql-2.0.9-bin.jar放入TOMCAT_HOME/common/lib中 B.配置TOMCAT_HOME/conf/serer.xml文件在<Service>段中加入一個Context: <Context path="/DBTe

41、st" docBase="DBTest" debug="5" reloadable="true" crossContext="true"> </Context> 這是DBTest的根路徑,這是為了在DBTest中使用做準備. C.在上面加入的<Context>段加入 <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"

42、/> <ResourceParams name="jdbc/TestDB"> <parameter> <name>factory</name> <value>mons.dbcp.BasicDataSourceFactory</value> </parameter> <!- 最大連接數-> <parameter> <name>maxActive</name> <value>100</value> </param

43、eter> <!- 最大空閑連接 -> <parameter> <name>maxIdle</name> <value>30</value> </parameter> <!- 最大等待連接 -> <parameter> <name>maxWait</name> <value>10000</value> </parameter> <!- MySQL 連接用戶信息 -> <parameter> <

44、name>username</name> <value>test</value> </parameter> <parameter> <name>password</name> <value>test</value> </parameter> <!- MySQl驅動 -> <parameter> <name>driverClassName</name> <value>org.gjt.mm.mysql.Driver

45、</value> </parameter> <!- MySQL連接地址 -> <parameter> <name>url</name> <value>jdbc:mysql:/localhost:3306/test</value> </parameter> </ResourceParams> 我們可以將按照Sample加入,主要修改的是driverClassName,url,和用戶帳號;需要強調的是"jdbc/TestDB"就是JDNI要查找的Name. D

46、. 在JSP或servlet中使用JNDI查找服務 下面是在JSP文件中關于JNDI使用的代碼(文件名記為UserHandleDB.jsp) 需要注意的是JNDI NAME要在前面加上"java:comp/env/" <% page language="java"%> <% page import="java.util.*" %> <% page import="java.sql.*" %> <% page import="javax.sql.*" %&

47、gt; <% page import="javax.naming.*" %> <% String jndi_name="java:comp/env/jdbc/TestDB" String select_user_sql="select userid,name,birthday, email from emp" String colnames="User ID","Name","Birth day","EMail", "useri

48、d","name","birthday","email" Vector userSet=new Vector(); Vector columnSet=new Vector(); for(int i=0;i<colnames0.length;i+) columnSet.add(colnames0i); userSet.add(columnSet); Context ctx = new InitialContext(); if(ctx = null ) throw new Exception("No Contex

49、t"); DataSource ds = (DataSource)ctx.lookup(jndi_name); Connection conn = ds.getConnection(); try PreparedStatement psPreparedStatement=conn.prepareStatement(select_user_sql); ResultSet resultSet = psPreparedStatement.executeQuery(); while(resultSet.next() columnSet=new Vector(); for(int i=0;i&

50、lt;colnames1.length;i+) columnSet.add(resultSet.getString(colnames1i); userSet.add(columnSet); catch(SQLException e) e.printStackTrace(); finally conn.close(); %> E. 引用UserHandleDB.jsp(記為ViewTable.jsp) <html> <head> <title>Test Database </title> <body > <% include

51、 file="UserHandleDB.jsp" %> <table border="1" > <% for(int i=0;i<userSet.size();i+) Vector colSet=(Vector)userSet.get(i); out.print("<tr>"); for(int j=0;j<colSet.size();j+) String col=(String)colSet.get(j); out.print("<td>"+col+&q

52、uot;</td>"); out.print("</tr>"); %> </table> </body> </html> F. 在web.xml中加入 <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/TestDB</res-ref-name> <res-type>javax.sql.DataSource</res-type

53、> <res-auth>Container</res-auth> </resource-ref> 這里的jdbc/TestDb要和C中Resource段的name匹配 G. 觀察結果 首先確定數據庫已經啟動,接著啟動Tomcat,如果Tomcat啟動異常,可能的原因是數據庫的JDBC庫沒有加載 最后打開瀏覽器,訪問 http:/localhost:8080/DBTest/ViewTable.jsp就可以看到結果 三,使用框架自帶連接數據庫  下面是一段Struts-config.xml配置文件中的數據源配置(使用GenericDat

54、aSource數據源實現),你可以更改相應的設置以適合你自己的系統(tǒng)。<!- configuration for GenericDataSource wrapper -><data-sources>         <data-source>           <set-property       

55、60;         property="autoCommit"                 value="false"/>           <set-property  

56、60;              property="description"                 value="Example Data Source Configuration"/>     

57、60;     <set-property                 property="driverClass"                 value="org.postgresql.Dri

58、ver"/>           <set-property                 property="maxCount"              

59、;   value="4"/>           <set-property                 property="minCount"          

60、;       value="2"/>           <set-property                 property="password"      

61、;           value="mypassword"/>           <set-property                 property="url" &

62、#160;               value="jdbc:postgresql:/localhost/mydatabase"/>           <set-property            &

63、#160;    property="user"                 value="myusername"/>         </data-source></data-sources>使用BasicDataSource數據源實現的配置方案如下:&

64、lt;data-sources>        <!- configuration for commons BasicDataSource ->        <data-source type="mons.dbcp.BasicDataSource">           

65、60;    <set-property                  property="driverClassName"                  value

66、="org.postgresql.Driver" />                <set-property                  property="url"  

67、0;               value="jdbc:postgresql:/localhost/mydatabase" />                <set-property      

68、;            property="username"                  value="me" />          

69、0;     <set-property                  property="password"                  value=&

70、quot;test" />                <set-property                  property="maxActive"     

71、;             value="10" />                <set-property              

72、;    property="maxWait"                  value="5000" />                <set-propert

73、y                  property="defaultAutoCommit"                  value="false" />  

74、0;             <set-property                  property="defaultReadOnly"          

75、        value="false" />                <set-property                  pro

76、perty="validationQuery"                  value="SELECT COUNT(*) FROM market" />        </data-source></data-sources>  注意,你可以在

77、你的應用系統(tǒng)中定義不止一個數據源,你可以根據需要定義多個數據源,并為它們分別起一個邏輯名(logical name)。這樣做可以給你的應用系統(tǒng)提供更好的安全性和可測量性(scalability),你還可以定義一個專用于測試的數據源。  配置好DataSource以后,你就可以在你的應用系統(tǒng)中使用這些數據源了。下面這段代碼演示了怎樣在Action類的execute方法中通過這些數據源來生成數據庫連接。public ActionForward execute(        ActionMappin

78、g mapping,        ActionForm form,        HttpServletRequest request,        HttpServletResponse response)        throws Exception 

79、0;      DataSource dataSource;        Connection cnn;        try                     

80、   dataSource = getDataSource(request);                cnn = dataSource.getConnection();                / 數據連接已經建立了,你可以做你想做的事

81、情了                catch (SQLException e)                        getServlet().log("處理數據庫連接"

82、, e);                finally                        / 在finally塊里包含這些代碼     

83、           / 用以保證連接最后會被關閉                try                    &

84、#160;                   cnn.close();                            &

85、#160;   catch (SQLException e)                                        getServlet().lo

86、g("關閉數據庫連接", e);                          注意:如果你使用公共的BasicDataSource,你提供給pingQuery屬性的查詢語句(如果你設置了話)必須至少要能返回一行記錄。例子:SELECT COUNT(*) FROM VALIDTABLE你可以把VALIDTABLE替

87、換成你的數據庫中包含的任何有效的表。使用多個數據源如果你需要在模塊(Module)中使用多于一個的數據源,你可以在配置文件的<data-source>元素里包含一個key屬性。<data-source>        <data-source key="A" type="mons.dbcp.BasicDataSource">          

88、;      屬性配置略, 同上        </data-source>        <data-source key="B" type="mons.dbcp.BasicDataSource">                屬性配置略, 同上        </data-source><

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論