Tomcat数据源实现

1.在%TOMCAT_HOME%\conf\context.xml下的节点下新建如下

 <Resource name="jdbc/demolov"          
              auth="Container"   
              type="javax.sql.DataSource"   
              maxActive="100" 
              maxldle="30"   
              maxWait="10000"  
              username="root"    
              password="997103"   
              driverClassName="com.mysql.jdbc.Driver"   
              url="jdbc:mysql://localhost:3306/lov" />   

auth=”Container” (容器负责资源连接)
type=”javax.sql.DataSource” (数据源对应类型)
maxldle=”30” ( 维持的最小连接数)

2.在项目的web.xml中新建如下节点内容

<resource-ref>
        <description>DB Connection</description>
        <res-ref-name>jdbc/demolov</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
</resource-ref>

3.测试是否连接成功

<%
    String DSNAME = "java:comp/env/jdbc/demolov";
    Context ctx = new InitialContext();
    DataSource ds=(DataSource)ctx.lookup(DSNAME);
    Connection conn = ds.getConnection();
%>
<%=conn%>
<%
    conn.close();
%>

java:comp/env环境属性对于一些高级服务器不用设置(服务器本身设好了)
这里写图片描述
之后数据库连接就可以如下写(和传统连接差不多)

public class datasourceConnection {
    private static final String DSNAME = "java:comp/env/jdbc/demolov";
    private Connection conn = null;
    public datasourceConnection()throws Exception{
        try{
            Context ctx= new InitialContext();
            DataSource ds  =(DataSource)ctx.lookup(DSNAME);
            this.conn = ds.getConnection();
        }catch (Exception e){
            e.printStackTrace();
        }
    }

    public Connection getConn() {
        return this.conn;
    }
    public void close()throws Exception{
        if(this.conn!=null){
            try {
                this.conn.close();
            }catch (Exception e){
                throw e;
            }
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值