Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2342274
  • 博文数量: 321
  • 博客积分: 3440
  • 博客等级: 中校
  • 技术积分: 2992
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-24 09:08
个人简介

我就在这里

文章分类

全部博文(321)

文章存档

2015年(9)

2014年(84)

2013年(101)

2012年(25)

2011年(29)

2010年(21)

2009年(6)

2008年(23)

2007年(23)

分类: Java

2014-05-24 20:47:49

前言

现在的网站,基本上都离不开数据库,而微软的SQL Server就是其中应用较广的数据库。如果要在JBoss7中使用MSSQL,就要配置DataSource,即数据源。至于如何配置,可以参考如下的内容。

 

准备JDBC

首先去MSSQL的官网下载最新的JDBC驱动程序,相关的链接如下所示:

 

创建组件(module)

建立目录

如果使用以前的JBoss版本,我们只需要简单地将JDBC的jar放到lib目录下就可以使用了,但是最新版的JBoss7.1,由于引入了组件(module)的概念之后,以前的这种方法就行不通了。为了引入JDBC,我们需要建立如下的目录结构:


  1. $JBOSS_HOME\modules\com\microsoft\sqlserver\jdbc\main

建立目录之后,再将sqljdbc4.jar复制到main目录下面。

第一次看到JBoss的这种目录结构时,发现它跟Maven的类仓库目录结构很相似,都是组织得相当之好。不会象以前那样,将一大堆的jar放到一个目录中,令人看起来觉得相当之混乱。

 

建立module.xml

将jar放到指定的目录之后,还未结束,你还需要建立一个名为module.xml的文件,文件的内容如下所示:


  1. <module xmlns="urn:jboss:module:1.1" name="com.microsoft.sqlserver.jdbc">
  2.     <resources>
  3.         <resource-root path="sqljdbc4.jar"/>
  4.     </resources>
  5.     <dependencies>
  6.         <module name="javax.api"/>
  7.         <module name="javax.transaction.api"/>
  8.         <module name="javax.servlet.api" optional="true"/>
  9.     </dependencies>
  10. </module>

注册DataSource

配置的最后一步,就是要修改$JBOSS_HOME\standalone\configuration\standalone.xml文件,在datasources节点增加如下的内容:


  1. <datasource jndi-name="java:jboss/datasources/mssql" pool-name="mssql" enabled="true" use-java-context="true">
  2.     <connection-url>jdbc:sqlserver://SqlServer:1433;DatabaseName=test</connection-url>
  3.     <driver>mssqlxa</driver>
  4.     <security>
  5.         <user-name>sa</user-name>
  6.         <password>sa</password>
  7.     </security>
  8. </datasource>
  9. <drivers>
  10.     <driver name="mssqlxa" module="com.microsoft.sqlserver.jdbc">
  11.         <xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerXADataSource</xa-datasource-class>
  12.     </driver>
  13. </drivers>

启动JBoss

当完成以上的配置后,你就可以尝试启动服务器,如果在log中没有出现什么错误信息,那你基本已经成功配置了MSSQL的DataSource。



使用DataSource

定义了DataSource之后,我们尝试在JSP页面中调用它,测试配置是否真正正确。

下面有一段很简单的JSP代码:


  1. <%@page contentType="text/html; charset=utf-8"%>
  2.   <%@ page import="java.sql.*,
  3.  javax.naming.*,
  4.  javax.sql.*
  5.  "%>
  6.  <%
  7.  Context ct = new InitialContext();
  8.  DataSource ds = (DataSource)ct.lookup("java:jboss/datasources/mssql");
  9.  Connection con=ds.getConnection();
  10.  Statement sm=con.createStatement();
  11.  ResultSet rs=sm.executeQuery("select * from User where UserID = '1'");
  12.  while(rs.next())
  13.  {
  14.        Stringtitle=rs.getString("title");
  15.        out.println(title +"
    "
    );
  16. }
  17. rs.close();
  18. sm.close();
  19. con.close();
  20.  %>
  21.     <html>
  22.     <head>
  23.     <meta http-equiv="Content-Type"content="text/html; charset=utf-8">
  24.     <title>Example</title>
  25.     </head>
  26.     <body bgcolor="white">
  27.     Hello
  28.     </body>
  29.     </html>

将上面的代码保存为一个JSP文件,例如ds.jsp,然后把它放到war中就可以做测试了。

这个JSP文件的逻辑很简单,首先它会调用上面所定义的DataSource,然后查询数据库中的User表,最后在页面中显示查询的结果。如果你的配置没问题,你会在浏览器中看到显示的结果(要保证数据库中有User表,而且表中有UserID为1的记录)。

 

总结

在JBoss7中配置MSSQL的DataSource,过程并不是太复杂。如果你以前使用过旧版本的JBoss,只需要转变一下使用习惯,配置过程就会变得很easy啦。

转自:http://blog.csdn.net/rickyhome/article/details/7301516


阅读(3176) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~