MyBatis——05数据库连接池

定义

在内存中开辟一块空间,存放多个数据库连接对象

JDBCTomcatPool

直接由 tomcat 产生数据库连接池
具体如下:
在一块内存空间中,去存放多个连接对象,每个对象都有不同的状态。
active 状态:当前连接对象被应用程序使用中
Idle 空闲状态:等待应用程序使用

使用数据库连接池的目的

  1. 在高频率访问数据库时,使用数据库连接池可以降低服务器系统压力,提升程序运行效率
  2. 小型项目不适用数据库连接池

实现 JDBCtomcatPool 的步骤

  1. 在 web 项目的 META-INF 中存放 context.xml,在 context.xml 编写数据库连接池相关属性
<?xml version="1.0" encoding="UTF-8"?>
<Context>

	<Resource
		
		driverClassName="com.mysql.jdbc.Driver"
		url="jdbc:mysql://localhost:3306/sum"
		username="root"
		password="root"
		
		maxActive="50"
		maxIdle="20"

		name="test"

		auth="Container"

		maxWait="10000"

		type="javax.sql.DataSource"
	/>
</Context>

因xml中在<>加注释不方便,所以我用HTML的注释形式重写了一边(不能运行)

<?xml version="1.0" encoding="UTF-8"?>
<Context>
	<!-- 生成资源对象 -->
	<Resource
		<!-- JDBC -->
		driverClassName="com.mysql.jdbc.Driver"
		url="jdbc:mysql://localhost:3306/sum"
		username="root"
		password="root"
		<!--对象状态
		max用来控制上限--> 
		maxActive="50"
		maxIdle="20"
		<!-- 起个名字调用 -->
		name="test"
		<!-- 由Tomcat管理-->
		auth="Container"
		<!-- 最大超时时间10s -->
		maxWait="10000"
		<!--通过name属性取的数据库连接池对象时,
		在java中的类型,用javax.sql.DataSource
		数据源相当于数据库连接池-->
		type="javax.sql.DataSource"
	/>
</Context>
  1. 把项目发布到 tomcat 中,数据库连接池就会产生

注:可以在 java 中使用 jndi 获取数据库连接池中对象

  1. Context是上下文接口,接口对象要获取context.xml 文件对象类型
  2. 代码为:
//Context接口是专门用来获取context.xml对象
			//接口不能实例化,需要加入包——初始化
			Context cxt = new InitialContext();
			//	java:comp/env是固定的(完整环境)
			// 	返回的是object对象,需要进行强转DataSource——获取数据库连接池对象
			DataSource ds = (DataSource) cxt.lookup("java:comp/env/test");
			//JDBC
			Connection conn = ds.getConnection();
  1. 当关闭连接对象时,把连接对象归还给数据库连接池,把状态改变成 Idle
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值