JDBC使用NETBEANS6.7.1连接数据库方法

一、安装SQL SERVER2005驱动并建立连接
1、将文件sqljdbc4.jar分别复制到以下路径
     D:\Program Files\Sun\AppServer\domains\domain1\lib\ext和
     D:\Program Files\Java\jdk1.6.0_16\jre\lib\ext
2、单击NETBEANS  IDE的“服务”标签,点开“数据库”,在“驱动程序”上点右键,选择“新建驱动程序”
3、在弹出的窗口中点“添加”按钮,选择D:\Program Files\Java\jdk1.6.0_16\jre\lib\ext\sqljdbc4.jar文件,然后单击“确定",此时”驱动程序“文件夹内会出现Microsoft SQL Server 2005项
4、在”驱动程序“文件夹内的Microsoft SQL Server 2005项上右键单击,选择”连接设置“,在弹出的窗口中设置如下:
    主机:localhost
    端口:1433
    数据库:Adventureworks
    用户名:sa
    口令:123456
    记住口令
然后单击”确定“按钮,完成后”驱动程序“文件夹下会出现”数据库连接“

二、创建服务器资源(使用GLASS FISH V3)
1、单击NETBEANS IDE的项目标签,在”服务器资源“文件夹上右键单击,选择“新建”--“其它”
2、在弹出的窗口中“类别”栏选择“GLASS FISH”,"文件类型栏选择“JDBC连接池”
3、在弹出的窗口中指定JDBC连接池名称(任意),选择从现有连接中提取(选择刚才创建的连接),单击“完成”
4、在”服务器资源“文件夹上右键单击,选择“新建”--“其它”
5、在弹出的窗口中“类别”栏选择“GLASS FISH”,"文件类型栏选择“JDBC资源”
6、在弹出的窗口中选择“使用现有JDBC连接池”,在下拉列表中选择刚才创建的连接池
7、在“JNDI名称”中任意指定一个名称(需记住)
8、单击“完成”按钮

三、验证连接池是否正常工作
1、在浏览器地址栏中输入:http://localhost:4848
2、单击链接Resourses----JDBC---连接池,再单击刚才创建的连接池,最后单击PING按钮即可
注意:如果不行,选择“开始”--“所有程序”---“Microsoft Sql server2005”---"配置工具"---“SQL SERVER外围应用配置器”
3、单击“服务和连接外围应用配置器”,在弹出的窗口中“SQL SERVER BROWSER”,设置启动类型为“自动”,启动其服务,然后重启计算机

四、配置WEB.XML和SUN-WEB.XML文件
1、在WEB.XML文件中加入以下标签:
<resource-ref>
        <res-ref-name>jdbc/connectiontest</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
2、在sun-web.xml文件中加入以下标签
<resource-ref>
      <res-ref-name>jdbc/connectiontest</res-ref-name>
      <jndi-name>jdbc/conn</jndi-name>
  </resource-ref>
注意:两文件中的<res-ref-name>标签内容可以任意指定,但必须一致;并且在sun-web.xml文件中的<jndi-name>标签必须和创建JDBC资源是指定的JNDI名一致。

五、使用连接及获取数据库值
         DataSource ds = null;
         Connection connection = null;
         PreparedStatement stmt = null;
         ResultSet results = null;
         Context ctx = new InitialContext();
         //注意:ctx.lookup中的参数前部分java:comp/env/照写,
         //后部分必须和WEB.XML文件中<res-ref-name>标签内容保持一致
          ds = (DataSource)ctx.lookup("java:comp/env/jdbc/connectiontest");
          connection = ds.getConnection();
          stmt = connection.prepareStatement("select * from Stu_Info where stuAge = ?");
         //stmt.setInt方法的第一个参数为SQL语句中的问号占位符的顺序,1表示第一个?         
          stmt.setInt(1,22);
          results = stmt.executeQuery();
          while(results.next())
          {
             numrows++;
             StuInfo StuInfoobj = new StuInfo(results.getString("stuNo"),
                                              results.getString("stuName"),
                                              results.getString("stuSex"),
                                              String.valueOf(results.getInt("stuAge")),
                                              results.getString("stuAddress"));
             stuobjList.add(StuInfoobj);
          }

你可能感兴趣的:(sql,jdbc,SQL Server,ext,Netbeans)