(转)在Tomcat中配置数据源

转自:http://blog.ccidnet.com/blog.php?do=showone&uid=9416&type=blog&itemid=90384

 

在Tomcat中配置数据源涉及修改server.xml和web.xml,在server.xml中加入定义数据源的元素<Resource>,在web.xml加入<resource-ref>元素,声明该Web应用所引用的数据。
  第一步:
  在server.xml中加入<Resource>元素:<Resource>元素用来定义JNDI Resource。
  Resource标签的属性和描述如下:
   name 指定Resource的JNDI名字
   auth 指定管理Resource的Manager,它有两个可选值:Container、Application
   type 指定Resource所属的Java类名
  例:<Resource name = "jdbc/BookDb" auth = "Container" type= "javax.sql.DataSource" />
第二步:
  在<Resource>元素中加入<ResourceParams>元素:<ResourceParams>元素用来指定各种参数值。其相应的属性和描述如下:
  factory 指定生成的DataResource的factory类名
  maxActive 指定数据库连接池中处于活动状态的最大连接数目,0表示不受限制
  maxIdle 指定数据库连接池中处于空闲状态的最大连接数目,0表示不受限制
  maxWait 指定连接池中连接处于空闲状态的最长时间,超过会抛出异常,-1表示无限
  username 指定连接数据库的用户名
  password 指定连接数据库的口令
  driverClassName 指定连接数据库的JDBC驱动程序
  url  指定连接数据库的URL
例:<ResourceParams name = "jdbc/BookDb">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<parameter>
<name>username</name>
<value>user</value>
</parameter>
<parameter>
<name>password</name>
<value>1234</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql//localhost:3306/BookDb?autoReconnect=true</value>
</parameter>
</ResourceParams>
第三步:在web.xml中加入<resource-ref>元素:<resource-ref>元素表示在Web应用中引用JNDI资源。
    属性      描述
  description 对所引用的资源的说明
  res-ref-name 指定所引用资源的JNDI名字,与<Resource>元素中的name属性对应
  res-type  指定所引用资源的类名字,与<Resource>元素中的type属性对应
  res-auth  指定所引用资源的Manager,与<Resource>元素中的auth属性对应
完成这几步就完成了配置。
如何使用呢?javax.naming.Context提供了查找JNDI Resource的接口,可以通过三个步骤来使用数据源对象:
1.获得对数据源的引用
    Context ctx = new InitalContext();
  DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/BookDb");
2.获得数据库连接对象
  Connection con = ds.getConnection(); 
3.返回数据库连接到连接池
  con.close();

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值