补充:JNDI

JNDI是Java Naming and Directory Interface,它在J2EE环境中作为组件查找资源和服务的通用机制。通过配置context.xml文件设定数据源,如在JDBC连接中使用JNDI,可以实现程序对数据库的间接访问,提高可维护性和灵活性。JNDI在J2EE中起到了粘合剂的作用,允许组件间解耦并发现所需资源。
摘要由CSDN通过智能技术生成

什么是JNDI?

  • JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一。
  • 程序员开发时,知道要开发访问MySQL数据库的应用,于是将一个对 MySQL JDBC 驱动程序类的引用进行了编码,并通过使用适当的 JDBC URL 连接到数据库。
  • 如果使用JNDI,首先在J2EE容器中配置JNDI参数,定义一个数据源,也就是JDBC引用参数,给这个数据源设置一个名称;然后,在程序中,通过数据源名称引用数据源从而访问后台数据库。

如何实现JNDI

  • 配置一个context.xml的文件。
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<!-- 
<Resource 
name="jdbc/eesy_mybatis"                        数据源的名称
type="javax.sql.DataSource"                     数据源类型
auth="Container"                                数据源提供者
maxActive="20"                                  最大活动数
maxWait="10000"                                 最大等待时间
maxIdle="5"                                     最大空闲数
username="root"                                 用户名
password="1234"                                 密码
driverClassName="com.mysql.jdbc.Driver"         驱动类
url="jdbc:mysql://localhost:3306/eesy_mybatis"  连接url字符串
/>
 -->
<Resource 
name="jdbc/eesy_mybatis"
type="javax.sql.DataSource"
auth="Container"
maxActive="20"
maxWait="10000"
maxIdle="5"
username="root"
password="Just123456"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://cdb-rlerhd0g.cd.tencentcdb.com:10078/User"
/>
</Context>
  • 然后在SqlMapConfig.xml中使用这个标签内容。
<!-- 配置连接数据库的必备信息  type属性表示是否使用数据源(连接池)-->
            <dataSource type="JNDI">
                <property name="data_source" value="java:comp/env/jdbc/eesy_mybatis"/>
            </dataSource>
  • 最后在代码中调用相关的函数实现即可。

JNDI总结

  • J2EE 规范要求所有 J2EE 容器都要提供 JNDI 规范的实现。JNDI 在 J2EE 中的角色就是“交换机” —— J2EE 组件在运行时间接地查找其他组件、资源或服务的通用机制。在多数情况下,提供 JNDI 供应者的容器可以充当有限的数据存储,这样管理员就可以设置应用程序的执行属性,并让其他应用程序引用这些属性。
  • JNDI 在 J2EE 应用程序中的主要角色就是提供间接层,这样组件就可以发现所需要的资源,而不用了解这些间接性。
  • 在 J2EE 中,JNDI 是把 J2EE 应用程序合在一起的粘合剂,JNDI 提供的间接寻址允许跨企业交付可伸缩的、功能强大且很灵活的应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值