Java通过JNDI获取数据源
- package common;
- import java.sql.Connection;
- import java.sql.SQLException;
- import javax.naming.Context;
- import javax.naming.InitialContext;
- import javax.naming.NamingException;
- import javax.sql.DataSource;
- /**
- * 通过JNDI获取数据源
- * @author 周尚武
- * 时间:2008年12月8日22:37:09
- */
- public class DBConnection {
- /**
- * 通过JNDI获取数据源在获取连接对象
- * @return Connection con
- */
- public static Connection getCon(){
- Connection con = null;
- try {
- Context ic = new InitialContext();
- DataSource source = (DataSource)ic.lookup("java:comp/env/jdbc/books");
- con = source.getConnection();
- } catch (NamingException e) {
- System.out.println("数据源没找到!");
- e.printStackTrace();
- } catch (SQLException e) {
- System.out.println("获取数连接对象失败!");
- e.printStackTrace();
- }
- return con;
- }
- }
JNDI的配置:
1.context.xml文件的配置:
- <Resource name="jdbc/books"
- auth="Container" type="javax.sql.DataSource" maxActive="100"
- maxIdle="30" maxWait="10000" username="sa" password="123"
- driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
- url="jdbc:sqlserver://localhost:1433;databasename=books"/>
2.web.xml文件的配置:
- <resource-ref>
- <res-ref-name> jdbc/books </res-ref-name>
- <res-type> javax.sql.DataSource </res-type>
- <res-auth> Container </res-auth>
- </resource-ref>
3.添加数据库驱动文件:
通过数据源访问数据库,由于数据源由Tomcat 维护,所有必须把JDBC驱动程序复制到Tomcat的common/lib目录下。
注意:如果要是用的MyEclipce自带的Tomcat可以从Configure中
选中paths-----》在点击Add JAR/ZIP-----》加载相应的JDBC驱动
明天你还会爱我?