MyDataSource自定义的数据源

本文介绍了如何创建并使用自定义数据源MyDataSource,详细阐述了其在测试类中的应用。
摘要由CSDN通过智能技术生成

MyDataSource自定义数据源

/*
 * 
 *   1. 一次性 初始化 10 个连接放到 池子中 .
 *   2. 当 客户端调用 getConection 方法, 就返回一个连接给 调用者 
 *   3. 当连接 不再使用的 时候 ,提供一个方法 , 可以让这个连接放回到 池子中.
 * 
 */

public class MyDataSource implements DataSource{

	private static  LinkedList<Connection> list = new LinkedList<Connection>();
	
	public MyDataSource() {
		
		// 一次 性 搞 10 个 连接 对象 放到 池子中 
		System.out.println(" 一次 性 搞 10 个 连接 对象 放到 池子中 ");
		for (int i = 0; i < 10; i++) {
			
			Connection conn = JdbcUtils.getConnection();
			list.add(conn);
		}
		
	}
	
	
	@Override
	public Connection getConnection() throws SQLException {
		
		// 如果 调用 这个方法 ,就 将连接 返回给 调用者 
		if(list.size()==0){
			
			// 如果进来,则说明没有连接了, 就在 搞 几个 连接 对象放到 池子中
			for (int i = 0; i < 5; i++) {
				
				Connection conn = JdbcUtils.getConnection();
				list.add(conn);
			}
			
		}
		final Connection conn = list.removeFirst();
		
		Conn
在 WebLogic 中配置的数据源可以迁移到 Tomcat 中,但是需要进行一些修改。以下是在 Tomcat 中配置数据源的步骤: 1. 在 Tomcat 的 lib 目录下加入 JDBC 驱动。 2. 在 Tomcat 的 conf 目录下找到 server.xml 文件,在 \<GlobalNamingResources\> 标签下添加: ``` <Resource name="jdbc/MyDataSource" auth="Container" type="javax.sql.DataSource" maxTotal="100" maxIdle="30" maxWaitMillis="10000" username="dbuser" password="dbpassword" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/mydatabase"/> ``` 这里的 name 属性为数据源的 JNDI 名称,可以自定义,但是需要在应用程序中使用相同的名称来访问数据源。 注意:根据你的数据库类型和 JDBC 驱动,可以修改 driverClassName 和 url 属性值。 3. 在应用程序的 web.xml 文件中,添加资源引用: ``` <resource-ref> <description>My DataSource Reference</description> <res-ref-name>jdbc/MyDataSource</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> ``` 4. 通过 JNDI 查找数据源: ``` Context ctx = new InitialContext(); DataSource dataSource = (DataSource) ctx.lookup("java:/comp/env/jdbc/MyDataSource"); Connection connection = dataSource.getConnection(); ``` 这里的 "java:/comp/env/" 是固定的前缀,"jdbc/MyDataSource" 是数据源的 JNDI 名称。 以上是在 Tomcat 中配置数据源的简单步骤,但是具体实现可能会因为应用程序的不同而有所不同,需要根据实际情况来进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值