使用tomcat服务器自带的连接池——tomcat-dbcp

       在写web项目肯定避免不了访问数据库,那么连接池就来了,用tomcat服务器自带的连接池不需要再引入jar包,比较方便。方法:

  • 先配置tomcat服务器的content.xml文件,里面可以配置多个连接池,用来访问不同的数据库,例如:
<Resource auth="Container" driverClassName="com.mysql.cj.jdbc.Driver"
maxIdle="30" maxTotal="100" maxWaitMillis="10000" name="dormitoryDBPC" 
password="12345" type="javax.sql.DataSource" 
url="jdbc:mysql://localhost:3306/dormitory?characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=UTC&amp;rewriteBatchedStatements=true&amp;allowPublicKeyRetrieval=true" 
username="root"/>

这个配置信息是连接版本8.0以上的数据库(mysql),如果是5.x则需要修改driverClassName和url的参数。

  • auth这个属性默认不用修改
  • maxIdle指最大空闲连接个数
  • maxTotal指最大连接个数
  • maxWaitMillis指最大等待时间
  • name是你这个连接池的名字,用于区分其他连接池
  • password,username和url就不说了,和连接数据库一模一样,但是url后的值一开始要加上jdbc:mysql
  • type这个值不需要修改

       大家可以直接把这个配置信息直接赋值粘贴到content.xml里的Context里就行,自己再把一些参数改改。在tomcat里配置好了之后在每一个web项目里都可以使用。
之后需要在想使用连接池的web项目里的web.xml再做配置。
       打开WEB-INF里的web.xml,在web-app里加上

<resource-ref>
    <res-ref-name>dormitoryDBPC</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>
  • 其中res-type和res-auth不需要需改,res-ref-name里的值是你在content.xml里配置好的连接池,接下来就可以后端使用连接池了。
//获取连接池中的链接
	public static Connection getConn() {
		Connection con =null;
		Context ctx;
		try {
			ctx = new InitialContext();  //获取context.xml中的内容
			DataSource ds = (DataSource)ctx.lookup("java:comp/env/dormitoryDBPC");  //获取数据源
			try {
				con = ds.getConnection();  //得到连接
				con.setAutoCommit(false);
				
			} catch (SQLException e) {
				e.printStackTrace();
				System.out.println("获取连接错误");
			}
		} catch (NamingException e2) {
			e2.printStackTrace();
			System.out.println("获取数据源错误");
		}
		return con;
	}
	//释放连接
	public static int closeConn(Connection con) {
		int flag = -1;
		try {
			if(con!=null)con.close();
			flag=0;
		} catch (SQLException e) {
			e.printStackTrace();
			System.out.println("释放连接错误");
		}
		
		return flag;
	}

获取释放连接操作如上,只需要将连接池的名字更改就行

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值