在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
李顺利 阅读(1080)
评论(0) 编辑 收藏 所属分类:
Tips