配置数据源

数据源的配置
  为什么要采用数据源配置?
     用原始的方式,每次在连接数据库的时候都要去验证用户名、密码、驱动和url,需要大量的时间,故效率低。
思路:
通过tomcat提供的数据源(数据源中事先建立了多个数据库连接),当用户请求时,通过数据源取出空闲状态的数据库连接对象,变成激活状态。使用完成放回连接池,把激活状态变成空闲状态。这样的话,可以提高数据库的效率。
(通过这样用户名、密码、驱动和url就验证了一次而不是每次验证。)

配置数据源的步骤:
1、先在tomcat(服务器)>conf>server.xml的<Host></Host>zhong 做配置:
    <Host> 
      <Context path="/practise" docBase="F:\workspace\practise\WebRoot" reloadable="true" workDir="F:\workspace\practise\work">  //path为虚拟路径,根据虚拟路径找到工程真正的物理路径的根(webroot)目录,reloadable设为真(就是当我们修改工程时,他会自动刷新吧最新夫人工程保存到tomcat中),workDir(找到tomcat中的work文件夹,因为work文件夹下有我们运行jsp时生成的servlet类,需要把他清理掉。)
        <Resource name="oracle" //数据源名字
                 auth="Container"  //制定管理数据源的Manager,这里用Container容器
                 type="javax.sql.DataSource" //数据源类
                 driverClassName="oracle.jdbc.driver.OracleDriver"  //oracle驱动(当然也可以换别的驱动)
                 url="jdbc:Oracle:thin:@localhost:1521:inspur"   //驱动的url
                 username="数据库名"  
                 password="数据库密码"
                 maxActive="30"   //指定数据库连接池中处于激活状态的数据库连接的最大数目
                 maxIdle="10"   //指定数据库连接池中处于空闲状态的数据库连接的最大数目
                 maxWait="100000"/>  指定数据库连接池中数据库连接处于空闲状态的最大时间,设置为-1时,可以表现为无限制等待
      </Context>
    </Host>
2、在应用程序中建一个类,用来通过先得到数据源-再得到数据库连接
   public class DBConn(){
     public Connection getConn(){
          Connection conn=null;
          try{
          Context text=new InitialContext();  //Context数据源对象与名字的绑定的集合(通过数据源名字找到数据源对象)
          DataSource data=text.lookup("java:comp/env/oracle");  //( java:comp/env)是java虚拟机,通过java虚拟机获取数据源的名字【重要】通过text.lookup("java:comp/env/oracle")找到数据源
          if(data!=null){
              conn=data.getConnection();   
          }
       }catch(NameingException e){
           Class.forName("oracle.jdbc.driver.OracleDriver"); //防止数据源为空不加载驱动,照成连接不上数据库
           e.printStackTrace();
       }catch(SQLException e){
           e.printStackTrace();
       }
         return conn;
     }
  }
3、把jar包class12导入tomcat》common》lib文件夹中。(common目录下的jar包能被tomcat和web工程访问到)
4、然后做个测试页面,简单的测试下,就OK了。 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值