李顺利
随笔-50  评论-170  文章-0  trackbacks-0

Eclipse中使用JBoss数据库连接池技术

 

配置:JBoss 5.0 Eclipse Platform3.4  MySQL4.0

 

Eclipse中使用JDBC桥来连接数据库大家应该都很熟悉,今天我要说的是如何在Eclipse中使用数据库连接池技术。

为何要使用连接池,使用数据库连接池有什么好处?这些请google一下。

 

1.       新建一个project

这一步就很简单了,就是新建一个Java Project

 

2.       导入相应的jar

在本例中要使用JBossMySQL,所以要导入JBoss的所有包(在你的JBoss目录下的lib文件夹里)和Java连接MySQLjar包(mysql-connector-java-5.0.5-bin.jar

 

3.       配置MySQL数据库

MySQL数据库test中新建一个表,名为student,有三个字段名,分别为idnameage

clip_image002

可以使用GUI来创建。

4.       配置JBoss服务器

配置JBoss服务器是最重要的一步,也是最难得一步

(1)       Java连接MySQLjar包(mysql-connector-java-5.0.5-bin.jar)拷到JBoss目录下\server\default\lib

clip_image004

(2)       编写mssql-ds.xml配置文件,这个类似的文件可以在JBoss的例子程序中找到,我们修改一下就可以了(附修改后的mssql-ds.xml文件),在拷到JBoss目录下\server\default\deploy

clip_image006

 

<?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,运行程序。

clip_image008

有什么问题,请Q我(506817493

木子写于2009330

 

 



博客中的一些下载已经放到了百度云了,请根据需要下载。【点我去百度云下载】

最后弱弱地说一下,如果可以的话,转载请提供出处( ),谢谢。
posted on 2010-01-07 20:46 李顺利 阅读(1076) 评论(0)  编辑  收藏 所属分类: Tips

只有注册用户登录后才能发表评论。


网站导航: