JDBC连接
数据库可以分为4中方式:
其中有3种方式属于2层构架,分别为:
1.JDBC-ODBC,是用于对以往使用ODBC数据库连接方式的一种过渡而出现的。
2.JDBC-NATIVE ,针对需要在客户端安装数据库客户端的这种情况。
3.100%JAVA,JDBC直接与数据库相连。如下:
1、Oracle8/8i/9i数据库(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID String user="test"; String password="test"; Connection conn= DriverManager.getConnection(url,user,password); |
2、DB2数据库
Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance(); String url="jdbc:db2://localhost:5000/sample"; //sample为你的数据库名 String user="admin"; String password=""; Connection conn= DriverManager.getConnection(url,user,password); |
3、Sql Server7.0/2000数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb"; //mydb为数据库 String user="sa"; String password=""; Connection conn= DriverManager.getConnection(url,user,password); |
4、Sybase数据库
Class.forName("com.sybase.jdbc.SybDriver").newInstance(); String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB为你的数据库名 Properties sysProps = System.getProperties(); SysProps.put("user","userid"); SysProps.put("password","user_password"); Connection conn= DriverManager.getConnection(url, SysProps); |
JDBC另外一种方式是3层结构,就是在应用
服务器上建立连接池和DataSource。如下
Context initCtx = new InitialContext();
Context ctx = (Context) initCtx.lookup("java:comp/env");
Object obj = (Object) ctx.lookup("jdbc/OraDB");
javax.sql.DataSource ds = (javax.sql.DataSource)obj;
Connection conn = ds.getConnection();
应用中配置如下:未测试,仅转载。
一、配置server.xml
找到配置发布应用程序的地方:
<Context path=”” docBase=”d:/_webs”/>
将这个改为:
<Context path="" docBase="D:/ _web" debug="0">
<!—
声明一个数据源
,
程序通过
JNDI
找到该数据源。
name
指出数据源的名称为
jdbc/OraDB,
auth
表明连接池管理的权限,
type
指出该数据源的类型
-->
<Resource name="jdbc/OraDB" auth="SERVLET" type="javax.sql.DataSource"/>
<!—
配置该数据源的属性
name
指出数据源的名称
-->
<ResourceParams name="jdbc/OraDB">
<!—
连接数据库的用户名
-->
<parameter>
<name>username</name>
<value>chenws</value>
</parameter>
<!—
连接数据库的密码
-->
<parameter>
<name>password</name>
<value>admin</value>
</parameter>
<!—
连接数据库的
jdbc
驱动程序
-->
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<!—
连接数据库的
url-->
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@192.168.39.215:1521:jetchin</value>
</parameter>
</ResourceParams>
</Context>
实际上,配置数据源的属性不止以上那些,还有其他的比如连接时间的限制,连接数量的限制等等。这里我们并没有给出,只是使用了
tomcat
提供的默认属性罢了。
注意:要让该数据源有效,必须将oracle的classes12.zip改名为classes12.jar,然后拷贝到
tomcat安装目录下的/common/lib中。
二、配置web.xml
到
web
应用程序目录下的
web-inf
中,打开
web.xml
,加入如下的配置:
定义数据源参照:
<resource-ref>
<!—
数据源描述,可有可无
-->
<description>Oracle Datasource example</description>
<!--
数据源名称
-->
<res-ref-name>jdbc/OraDB</res-ref-name>
<!—
数据源类型
-->
<res-type>javax.sql.DataSource</res-type>
<!—
连接池管理权限
-->
<res-auth>SERVLET</res-auth>
</resource-ref>