基于GlassFish 的 NetBeans 开发环境下 SQL 2008 数据库访问

来源:互联网 发布:天猫魔盒安装直播软件 编辑:程序博客网 时间:2024/05/21 15:49

基于GlassFish 的 NetBeans 开发环境下 SQL 2008 数据库访问

GlassFish Server Open Source Edit, SQL2008数据库访问

 开发工具及环境
NetBeans 6.9.1(目前7.0就快发布了),下载地址
Windows 2003 SP2
数据库 SQL 2008 SP1
JDBC驱动,微软JDBC3.0,下载地址

 

一、 安装(略)。

 

二、 搭建环境:
1、 复制JDBC驱动sqljdbc4.jar至GlassFish扩展库目录内。
c:/glassfish-3.0.1/glassfish/domains/domain1/lib/ext
2、 启动数据库,创建数据库mydb,创建用户名和密码mydb,开启用户mydb的权限,db_owner和public,并测试该账号正常工作,并创建一个mydb的数据表,填充一定的记录。

CREATE TABLE [dbo].[Table_1](
 [id] [bigint] IDENTITY(1,1) NOT NULL,
 [f1] [varchar](50) NULL,
 [f2] [varchar](50) NULL,
 [f3] [varchar](50) NULL,
 [f4] [varchar](50) NULL
) ON [PRIMARY]

3、 NetBeans内新建一个项目,选择Java Web,再选择Web Application,填写项目名mydb和适当的路径,Server选择GlassFish Server,Java EE Version 选择 Java EE 5 的,如果选择Java EE 6,将没有默认提供 Web.xml,需要到通过新文件向导选择Web和Standard Deployment Descriptor,单击Finish创建项目完毕。
4、 NetBeans 的 Services 窗口
Database右键,选择New Connection
对话框内,Driver Name选择New Driver,再选择JDBC驱动程序文件,Name输入mydb,填写相应的Host、Port、Database等信息,scheam选择dbo
5、 回到Projects窗口,创建数据连接。
方式一:向导式创建:
(1) 创建一个 Connection Pool

 项目上右键选择New File,找到GlassFish,选择JDBC Connection Pool,填写 JDBC Connection Pool Name,选择一个链接(刚才创建的),单击Next。

在Properties 内确认JDBC连接参数,并增加一个 loginTimeout,Value 为 5,单位秒,这个时间也可以自己根据情况设置,单击 Next。

一些连接池参数,如果性能需要提高,可修改连接池大小和连接数,并单击Finsh。

(2) 项目上右键选择New File,找到GlassFish,选择JDBC Resource,并选择一个连接池,填写新的JNDI Name,一般jdbc/XXX,单击Finish。

设置结束后可在 glassfish-resources.xml 中看到设置信息。

方式二:手动创建:
登陆到GlassFish控制台
找到资源,进入JDBC、连接池,创建一个mydb的连接池
再找到资源,进入JDBC、JDBC资源,创建一个jdbc/mydb的资源,并指向mydb

 

如果存在 JavaBean 操作,还需要添加一个Web.xml文件(否则只用JSTL则不需要添加如下内容),项目新建,选择NewFile,选择Web,再选择Standard Deployment Descriptor (web.xml),创建了该文件后,增加以下内容。

  <resource-ref>
    <description>DB Connection</description>
    <res-ref-name>jdbc/XXXX</res-ref-name>
    <res-type>javax.sql.ConnectionPoolDataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>

红色XXXX修改为JDBC Resource 指定的JNDI Name "jdbc/XXX",至此,配置完成。 

 

三、 代码测试:创建index.jsp,内容如下

 

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
  </head>
  <body>
    <sql:query var="result" dataSource="jdbc/mydb">
      SELECT * FROM Table_1
    </sql:query>

    <table border="1">
      <!-- column headers -->
      <tr>
        <c:forEach var="columnName" items="${result.columnNames}">
          <th><c:out value="${columnName}"/></th>
        </c:forEach>
      </tr>
      <!-- column data -->
      <c:forEach var="row" items="${result.rowsByIndex}">
        <tr>
          <c:forEach var="column" items="${row}">
            <td><c:out value="${column}"/></td>
          </c:forEach>
        </tr>
      </c:forEach>
    </table>
  </body>
</html>

 

四、 测试结果

 

id f1 f2 f3 f4
1 aaa eee qqq 
2 bbb fff www 
3 ccc www eee 
4 ddd qqq rrr