SpringBoot内置Tomcat实现JNDI多数据源配置

本文介绍了数据源连接池的基本原理和Tomcat中JNDI数据源的概念,详细讲解了如何在SpringBoot内部集成Tomcat实现JNDI多数据源配置,包括添加依赖、启动类注解、数据源配置、YML文件设置及测试步骤。通过实例展示了如何在不同场景下集成JNDI数据源。
摘要由CSDN通过智能技术生成

一、数据源连接池介绍

在Java开发中,使用JDBC操作数据库包括以下四个步骤:

   ① 加载数据库驱动程序:Class.forName(“数据库驱动类”);
   ② 连接数据库:Connection con = DriverManager.getConnection();
   ③ 操作数据库:PreparedStatement stat = con.prepareStatement(sql);stat.executeQuery();
   ④ 关闭数据库,释放连接:con.close();

   所有用户都需要通过以上四步才能完成对数据库的操作,而在这四步中的①、②、④三步对于所有用户来说都是一样的,即每个用户都需要加载驱动、连接和关闭数据库,且使用同样的操作即可实现。对所有用户来说,只有第③步是不一样的,这样就造成了很大的性能浪费。
   数据源连接池便可以很好地解决上述问题,其基本原理为:使用一个空间保存着所有数据库连接,用户想要操作数据库时只需要从数据源中取出自己需要的数据库连接即可,不需要进行上面的①加载数据库驱动程序、②连接数据库这两个操作。操作完数据库后,用户也无需④释放数据库连接,直接把取出的连接放回数据源空间中即可。
   虽然理论上比较简单,但想要实现连接池需要考虑很多问题,比如:
   1、 如果没有任何一个用户使用连接,那么那么应该维持一定数量的连接,等待用户使用。
   2、 如果连接已经满了,则必须打开新的连接,供更多用户使用。
   3、 如果一个服务器就只能有100个连接,那么如果有第101个人过来呢?应该等待其他用户释放连接。
   4、 如果一个用户等待时间太长了,则应该告诉用户,操作是失败的。
   如果直接用程序实现以上功能,则会比较麻烦,所以在Tomcat 4.1.27之后,在服务器上就直接增加了数据源的配置选项,直接在服务器上配置好数据源连接池即可。在J2EE服务器上保存着一个数据库的多个连接,每一个连接通过DataSource可以找到。DataSource被绑定在了JNDI树上,为每一个DataSource提供了一个唯一的名称,客户端通过这个名称就可以找到在JNDI树上绑定的DataSource,再由DataSource找到一个连接。如下图所示:
在这里插入图片描述

二、SpringBoot内置Tomcat实现JNDI多数据源配置

1、添加依赖

所需的依赖包括mybatis-starter、mysql驱动以及tomcat依赖
在pom.xml中添加:

	<dependency>
    	<groupId>org.mybatis.spring.boot</groupId>
    	<artifactId>mybatis-spring-boot-starter</artifactId>
    	<version>2.2.0</version>
	</dependency>
	<dependency>
	    <groupId>mysql</groupId>
	    <artifactId>mysql-connector-java</artifactId>
	</dependency>
	<dependency
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值