您的位置:首页 > 其它

JNDI配置过程

2013-10-28 17:29 253 查看
JNDI配置步骤:

1.JNDI是 java naming and directory interface 作用是用来完成从服务器(tomcat)中查询数据源,与以往的JDBC的使用不太相同,但是JNDI的作用恰恰帮我们完成了JDBC的获得Connection对象的步骤。

2.JDBC获得是一个连接对象,但是JNDI是帮我们获得一个数据池,数据池中有多个连接,我们可以任意获得一个连接,所以JNDI在完成数据库连接时能够提供数据库连接一个限定等配置!!

具体步骤如下:

1.配置服务器(tomcat)的conf/context.xml文件

添加如下节点:

<Resource

name="jdbc/books" 数据源名称

auth="Container" 数据源由服务器创建

type="javax.sql.DataSource"

maxActive="100"

maxIdle="30"

maxWait="10000"

username="test"

password="123456"

dirverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"

url="jdbc:sqlserver://localhost:1433;databasename=数据库名字"

/>

2.添加JAR包到tomcat安装目录下的lib文件夹下

3.配置web.xml文件

<resource-ref>

<res-ref-name>jdbc/books</res-ref-name> 这个值是要和conf/context.xml文件中name属性值相同

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

通过以上几步的配置基本完成。

剩下就是测试代码:

try {

Context ctx = new InitialContext();

//此处要添加的是查找数据源的名字 但是要加前缀java:comp/env

DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/books");

Connection conn = ds.getConnection(); //通过数据源获得数据源中的连接

String sql = "select * from person";

PreparedStatement pstmt = conn.prepareStatement(sql);

ResultSet rs = pstmt.executeQuery();

while(rs.next()){

System.out.println(rs.getString(1));

}

} catch (Exception e) {

e.printStackTrace();

}

注意:以上测试代码需要写在servlet中,因为数据源对象是在服务器(tomcat)中加载创建的,所以启动tomcat后会自动创建dataSource对象
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: