JNDI连接SQL数据库

来源:互联网 发布:mac推荐医学app 编辑:程序博客网 时间:2024/05/21 12:41

 

一、JNDI含义

Java Naming And Directory Interface(Java命名与目录接口),可以简单的理解为将对象和名字绑定的技术

二、使用JNDI连接数据库

 

1、新建BaseDao 书写代码 代码如下:

 

2、配置tomcat conf文件夹下的 context.xml文件

代码如下: <Resource的属性>属性说明name指定resource的JNDI名字auth指定管理Resource的Manager,它有两个可选值:Container和Application。container表示容器来创建resource,application表示由web应用程序来创建和管理resourcetype指定resource所属的java类名maxActive指定数据库连接池中处于活动状态的数据库连接的最大数目,取值为0,表示不受限制maxIdle指定数据库连接池中处于空闲状态的数据库连接的最大数目,取值为0,表示不受限制maxWait指定数据库连接池中处于空闲状态的最长时间(以毫秒为单位),超过这一时间将会抛出异常。取值为-1,表示可以无限制等待。username指定连接数据库的用户名password指定连接数据库的口令driverClassName指定连接数据库的JDBC驱动程序url指定连接数据库的URL

<Resource name="jdbc/MyBlogHome" 
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30" maxWait="10000"
username ="sa" password="123456"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=MyBlogHome"
/>

 

3、配置站点web.xml文件

代码如下: 注:别忘记在 tomcat 的 lib 文件夹中放入 数据库连接驱动 resource-ref的属性属性说明description对所引用资源的说明res-ref-name指定所引用的JNDI名字,与<Resource>元素中的name属性对应res-type指定所引用资源的类名,与<Resource>元素中的type属性对应res-auth指定管理所引用资源的Manager,与<Resource>元素中的auth属性对应

<resource-ref>
<res-ref-name>jdbc/MyBlogHome</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

 

 

三、测试JNDI是否成功

如果是测试是否成功,只能在Servlet中进行测试
代码如下: