现在的位置: 首页 > 综合 > 正文

数据库连接–DataSource连接方式—–研究中

2013年02月05日 ⁄ 综合 ⁄ 共 2550字 ⁄ 字号 评论关闭

Copy library到Tomcat
?classes12.jar和nls_charset12.jar copy到%Tomcat%/common/lib

?定server.xml
在%Tomcat%/conf?找到server.xml,然後在?面加上下面?段?定。

<DefaultContext crossContext="true" reloadable="true">
或<Context path="/modName" docBase="modName" debug="1" reloadable="true" crossContext="true">
<Resource auth="Container" name="jdbc/epmp" scope="Shareable" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/epmp">
 <parameter>
  <name>factory</name>
  <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
 </parameter>

 <!--Oracle-->
 <parameter>
  <name>url</name>
  <value>jdbc:oracle:thin:@hostname:1521:SID</value>
 </parameter>
 <parameter>
  <name>driverClassName</name>
  <value>oracle.jdbc.driver.OracleDriver</value>
 </parameter>
 <!--MySQL-->
 <parameter>
        <name>url</name>
        <value>jdbc:mysql://localhost:3306/forumdb?autoReconnect=true</value>
      </parameter>
 <parameter>
         <name>driverClassName</name>
         <value>com.mysql.jdbc.Driver</value>
      </parameter>

  <parameter>
   <name>username</name>
   <value>user</value>
  </parameter>
  <parameter>
   <name>password</name>
   <value>pwd</value>
  </parameter>
  <parameter>
   <name>maxActive</name>
   <value>20</value>
  </parameter>
  <parameter>
   <name>maxIdle</name>
            <value>10</value>
  </parameter>
  <parameter>
   <name>maxWait</name>
   <value>-1</value>
  </parameter>

</ResourceParams>
</DefaultContext>

</Context>

?定web.xml
如?1?定JNDI的?照,?定好之後?可以在web.xml中??WSAD?我?加入的?容。

<resource-ref>
 <res-ref-name>jdbc/epmp</res-ref-name>
 <res-type>javax.sql.DataSource</res-type>
 <res-auth>Container</res-auth>
 <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
 
TestCode
Test.jsp

<%@ page import=" java.sql.*"%>

<%@ page import=" javax.naming.*"%>

<%@ page import=" javax.sql.*"%>

<html>

  <head>

    <title>DB Test</title>

  </head>

  <body>

  <h2>Results</h2>

<% 

 DataSource ds=null;

 Context ct = new InitialContext();

 ds = (DataSource) ct.lookup("java:comp/env/jdbc/yinhu");      

 Connection con=ds.getConnection();

 Statement sm=con.createStatement();

 ResultSet rs=sm.executeQuery("select ename from emp where deptno=10");

while(rs.next())

{

       String s=rs.getString("ename");

       out.println(s+"<br>");

}

%>

</body>

</html>

       <!--------------------------->

<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

 

<sql:query var="rs" dataSource="jdbc/TestDB">

select id, foo, bar from testdata

</sql:query>

 

<html>

  <head>

    <title>DB Test</title>

  </head>

  <body>

  <h2>Results</h2>

<c:forEach var="row" items="${rs.rows}">

    Foo ${row.foo}<br/>

    Bar ${row.bar}<br/>

</c:forEach>

  </body>

</html>

抱歉!评论已关闭.