在Eclipse中使用JBoss数据库连接池技术
  
 配置:JBoss 5.0 Eclipse Platform3.4  MySQL4.0
  
 在Eclipse中使用JDBC桥来连接数据库大家应该都很熟悉,今天我要说的是如何在Eclipse中使用数据库连接池技术。
 为何要使用连接池,使用数据库连接池有什么好处?这些请google一下。
  
 1.       新建一个project
 这一步就很简单了,就是新建一个Java Project。
  
 2.       导入相应的jar包
 在本例中要使用JBoss和MySQL,所以要导入JBoss的所有包(在你的JBoss目录下的lib文件夹里)和Java连接MySQL的jar包(mysql-connector-java-5.0.5-bin.jar)
  
 3.       配置MySQL数据库
 在MySQL数据库test中新建一个表,名为student,有三个字段名,分别为id,name和age
 
 可以使用GUI来创建。
 4.       配置JBoss服务器
 配置JBoss服务器是最重要的一步,也是最难得一步
 (1)       把Java连接MySQL的jar包(mysql-connector-java-5.0.5-bin.jar)拷到JBoss目录下\server\default\lib里
 
 (2)       编写mssql-ds.xml配置文件,这个类似的文件可以在JBoss的例子程序中找到,我们修改一下就可以了(附修改后的mssql-ds.xml文件),在拷到JBoss目录下\server\default\deploy里
 
  
 <?xml version="1.0" encoding="UTF-8"?>
  
 <!-- ===================================================================== -->
 <!--                                                                       -->
 <!--  JBoss Server Configuration                                           -->
 <!--                                                                       -->
 <!-- ===================================================================== -->
  
 <!-- $Id: mssql-ds.xml 23720 2004-09-15 14:37:40Z loubyansky $ -->
  
   <!-- ======================================================================-->
   <!-- New ConnectionManager setup for Microsoft SQL Server 2000  driver     -->
   <!-- You may download the latest Microsoft JDBC driver from *Microsoft*    -->
   <!-- http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/MSDN-FILES/027/001/779/msdncompositedoc.xml&frame=true -->
   <!-- ===================================================================== -->
  
 <datasources>
   <local-tx-datasource>
     <jndi-name>MysqlDS</jndi-name>
     <use-java-context>false</use-java-context>
     <connection-url>jdbc:mysql://localhost:3306/test</connection-url>
     <driver-class>com.mysql.jdbc.Driver</driver-class>
     <user-name>root</user-name>
     <password>lishunli</password>
         <!-- sql to call when connection is created
         <new-connection-sql>some arbitrary sql</new-connection-sql>
         -->
  
         <!-- sql to call on an existing pooled connection when it is obtained from pool 
         <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
         -->
  
       <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
       <metadata>
          <type-mapping>MySQL 5.0</type-mapping>
       </metadata>
   </local-tx-datasource>
  
 </datasources>
  
 大家可以参考一下,注意其中的<use-java-context>false</use-java-context>
 语句,具体为什么这样写,上网搜搜。
  
 5.       编写代码(JDBCPoolDemo.java)
  
  
 /* 导入必要的包 */
 import java.sql.*;
 import javax.sql.*;
 import javax.naming.*;
 import java.util.*;
  
 public class JDBCPoolDemo
 {
    public static void main(String args[])
    {
       String tablename="student";             //数据库中表名
       String sqlstr;                          //sql语句
       Connection con=null;                    //连接对象
       Statement stmt=null;                    //语句对象
       ResultSet rs=null;                      //结果集对象
       Context ctx=null;
       Hashtable ht=new Hashtable();
       try
       {
          /*1、建立数据库连接 */
          ht.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
          ht.put(Context.PROVIDER_URL,"localhost:1099");
          ht.put(Context.URL_PKG_PREFIXES,"org.jboss.naming");
          // 创建一个初始上下文环境
          ctx=new InitialContext(ht);  
          
          DataSource ds=(DataSource)ctx.lookup("MysqlDS");
          //利用DataSource调用getConnection()方法,获取数据库的配置信息。
          con=ds.getConnection(); 
  
          /*2、向数据库提交查询请求 */
          stmt=con.createStatement();                // 创建statement对象
          sqlstr="select * from "+tablename;          // 书写SQL语句
         rs=stmt.executeQuery(sqlstr);              // 执行SQL语句,返回查询结果
          
          /*3、读取查询结果        */
          while(rs.next())
          {
                System.out.print(rs.getString("id"));
                System.out.print("\t");
                System.out.print(rs.getString("name"));
                System.out.print("\t");
                System.out.print(rs.getInt("age"));
                System.out.print("\t");
                System.out.print("\n");
          }
        }
         /*4、异常处理        */
       catch(NamingException e1)
       {
          System.out.println(e1.toString());
          System.out.println("驱动程序没有找到!");
       }
       catch(SQLException e2)
       {
          System.out.println(e2.toString());
         System.out.println("数据库异常!");
       }
      /*5、关闭数据库       */
       finally
       {
          try
          {
             if(rs!=null) rs.close();
             if(stmt!=null) stmt.close();
             if(con!=null) con.close();
           }
           catch(Exception e)
           {
             System.out.println(e.toString());
             }
       }
    }
 }
  
  
  
 6.       调试运行
 打开JBoss服务器,在JNDI树下应该有个MysqlDS 的JNDI,运行程序。
 
 有什么问题,请Q我(506817493)
 木子写于2009年3月30日
  
  
博客中的一些下载已经放到了百度云了,请根据需要下载。【点我去百度云下载】
最后弱弱地说一下,如果可以的话,转载请提供出处(
),谢谢。
 
	posted on 2010-01-07 20:46 
李顺利 阅读(1099) 
评论(0)  编辑  收藏  所属分类: 
Tips