首先,为什么要有JNDI?1.数据库编程操作JDBC数据库的四个步骤:加载数据库驱动程序(Class.forName("数据库驱动程序类");)连接到数据库(c
首先,为什么要有JNDI?
1.数据库编程
操作JDBC数据库的四个步骤:
加载数据库驱动程序(Class.forName("数据库驱动程序类");)
连接到数据库(connection con = driver manager . getconnection());)
操作数据库(query query = con . prepare statement(SQL))。ExecuteQuery)
关闭数据库并释放连接(con . close());)
2.连接池
所有用户都需要经历四个步骤,但三个步骤(加载数据库驱动程序、连接数据库和关闭连接)对所有人都是一样的。
可以,但是在操作数据库中不一样,所以造成性能损失。
做法:准备一个空房间,这个空房间专门用来存储所有的数据库连接,然后用户在操作数据库的时候可以直接从空房间访问连接。
释放连接,这是连接池。
3.关于连接池的疑惑?
1.如果没有用户使用该连接,那么应该保持一定数量的连接,等待使用。
2.如果连接已满,必须为更多用户打开新的连接。
3.如果一个服务器只能有100个连接,那如果有101个人呢?您应该等待其他用户释放连接。
4.如果用户等待的时间太长,应该告诉用户操作失败。
4.Tomcat服务添加数据源配置
Tomcat 4.1.27以后增加了数据源的配置选项,服务器上存储了一个数据库的多个连接。每个连接都可以通过DataSource找到。数据源绑定在JNDI树上(每个数据源都有一个名称)。客户端通过名称找到绑定在JNDI树上的数据源,然后数据源找到一个连接。
!
然后在以后的操作中,除了连接方式不同之外,其他操作都是一样的,只是在关闭的时候,数据库并没有完全关闭,而是将连接放回连接池中。
二。JNDI简介及优势
1.JNDI定义
1) JNDI java命名和文件夹接口(java命名和目录接口)
2)区分JDBC:
Jdbc java用于查找数据库驱动程序,jndi用于通过您的服务器配置的配置文件上下文(如Tomcat)查找数据。
库驱动程序。
3) JNDI已经成为J2EE的标准之一,所有的J2EE集装箱都必须提供JNDI服务器。(也就是Tomcat等服务器)
*4)使用连接池时,为什么要使用JNDI?*
对于数据库资源的管理,在容器中配置一个数据库连接池,使用JNDI来管理容器中运行的多个服务。
有时候,每个服务只需要添加一个jndi名称就可以连接到数据库。
如果不使用JNDI直接在项目中配置数据库连接池,那么每个项目都需要配置一次。如果数据改变了
地址,每个项目的数据库连接方式都要改变。使用JNDI时,应直接更改JNDI的数据库连接池配置。
去做吧。
一般来说,如果目标客户有专业的应用服务器,比如WebSphere、WebLogic,就不需要在代码中配置特定的连接池。
三。Tomcat中JNDI的配置(全局配置)
1.添加驱动程序包
示例:
mysql : mysql-connect-java-***。冲突
打开server.xml 文件 ( conf / server.xml)默认 Resource配置!
更改Resource 配置 <Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="root" password="root" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/cy?useUnicode=truecharacterEncoding=utf-8"/>在项目的META-INF 下面建 context.xml 文件 <?xml version="1.0" encoding="UTF-8"?> <Context> `<ResourceLink name="mysqlData" global="jdbc/mysql type="javax.sql.DataSource"/> </Context>`
添加图片卡。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。
作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/113124.html