`
lyovercome
  • 浏览: 20890 次
  • 来自: ...
社区版块
存档分类
最新评论

JavaBean中通过DataSource连接数据库

    博客分类:
  • j2EE
阅读更多
      本来说把自己学的东西放网上,记录学习过程, 与大家交流,
 结果忙得什么都忘了,好不容易 有时间了,又走上了管理阶层。
 在把07级的培 养方案做出来了过后,终于可以轻松一下了,于
 是找算写点东些上来。
 很多人在网上都在使用数据连接池来操作数据库的连接,于是我
 我也找算试用一下,于是我就在网上搜了下,做了起来:
 1.在我的Tomcat/config/servet.xml下把DataSource配置:
 <ResourceParams name="leaveword">
 <parameter>   
 <name>factory</name>
 <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
   </parameter> 
   <parameter>   
 <name>driverClassName</name>  
 <value>com.microsoft.jdbc.sqlserver.SQLServerDriveriver</value> 
   </parameter> 
   <parameter>  
 <name>url</name>  
 <value>jdbc:microsoft:sqlserver://127.0.0.1:1433;database=leaveword</value>
   </parameter>
   <parameter>
 <name>username</name>
 <value>lyovercome</value>
   </parameter> 
   <parameter> 
 <name>password</name>
 <value>8888</value>
   </parameter>
   <parameter> 
 <name>maxActive</name>
 <value>50</value>
   </parameter>
<parameter>
 <name>maxIdle</name>
 <value>10</value>
   </parameter>
   </ResourceParams>
 2.写DataSourceDemo.jsp页面测试:
 <%@ page import="java.sql.*"%>
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%
Connection conn=null;
 try
 {
  
  Context ctx=new InitialContext();
  DataSource ds=(DataSource)ctx.lookup("java:comp/env/leaveword");
  conn=ds.getConnection();
 }
 catch(Exception e)
 {
  System.out.println("连接数据库失败");
 }
%>
<%=conn%>
结果什么错都没有,就是输出为空,说明我数据库连接没连下,于是我就找了
tomcat/webapp/Tomcat-doc下的文档来看,原来我的Tomcat是5.5配置方式有变
于是我改写了格式如下:
 <Resource name="leaveword" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="lyovercome" password="8888"
        driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
               url="jdbc:microsoft:sqlserver://127.0.0.1:1433;database=leaveword"/>
保存,关闭重起,测试成功。数据库连接对象成功了,很是高兴。总结如下:
在使用一个没有用过的东西时,最好先看一下他的文档。
但总觉得少了些什么,原来是我一般都是用javaBean操作数据库连接,能不能在JavaBean里面
建立数据连接池呢?我在网上找了很久都有找到,但也有些收获,通过对象池模式,反射和JNDI
我做了如下测试:
1。在我的jsp页面增加out.print("class="+ds.getClass().getName());
得到如下结果:
原来ds只是org.apache.commons.dbcp.BasicDataSource的一个对象,于是我开始在我的Tomcat
lib目录下去找包有这个类的jar文件。找到它被放在:commons-dbcp-1.2.1.jar包里
于是我将lib下的所有.jar导入到我的项目里面,写了一个main方法进行测试:
public static void main(String[] args) throws NamingException, SQLException
{
 //创建一个BasicDataSource对象,查看其方法进行猜测,
 //我发现它的设置方法的server.xml里面的属性有相似之处
 //于是用其方法进行了如下设置
 BasicDataSource dbds = new BasicDataSource();//自己创建一个对象
 dbds.setDriverClassName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
 dbds.setUrl("jdbc:microsoft:sqlserver://127.0.0.1:1433;database=leaveword");
 dbds.setUsername("sa");
 dbds.setPassword("123");
 dbds.setInitialSize(30);
 //jdni配置
 Hashtable env=new Hashtable();
 //说明命名工厂的类文件名
 env.put("java.naming.factory.initial","org.apache.naming.java.javaURLContextFactory");
 InitialContext ctx=new InitialContext(env);
 //绑定jdni到datasource
 ctx.bind("leaveword", dbds);//将dbds对象与leaveword进行绑写
 DataSource ds=(DataSource) ctx.lookup("leaveword");//通过绑定名找到dbds对象
 Connection conn=ds.getConnection();//通过ds的方法获得数据库的连接
 Statement stmt = conn.createStatement();
 ResultSet rs=stmt.executeQuery("select * from words");
 while(rs.next())
 {
  System.out.println(rs.getString(2));
 }
}
测试成功,输出了我数据库里的人容。
分享到:
评论
1 楼 lyovercome 2007-11-03  
不知什么原因,xml中的一些配置的标签没有输出来,还请不要见笑。

相关推荐

    JavaBean数据库连接池

    然后在代码中通过如下方式获取和释放连接: ```java Properties props = new Properties(); props.setProperty("jdbc.url", "your_database_url"); props.setProperty("jdbc.username", "your_username"); props....

    基于Oracle JavaBean组件的数据库快速开发.pdf

    以下是如何使用DataSource连接数据库: - 查找DataSource:`Context ctx = new InitialContext(); DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/DataSourceName");` - 获取连接:`Connection conn ...

    jsp+javabean对数据库表的操作

    在JSP和JavaBean中,连接数据库通常需要使用JDBC(Java Database Connectivity)。JDBC是Java标准库中的一个接口,提供了与多种数据库系统交互的能力。首先,我们需要在JavaBean中加载数据库驱动,建立数据库连接,...

    java测试数据库连接

    2. 在JSP页面中,通过`&lt;jsp:useBean&gt;`标签实例化JavaBean,然后调用其连接数据库的方法。 3. 在JavaBean中,使用上述的JDBC步骤建立连接,但将结果存储在成员变量中,以便JSP可以访问。 4. JSP通过`...

    将数据库操作封装到Javabean

    2. **数据库连接获取**:通过两种方式提供数据库连接:一种是通过`DataSource`自动获取连接;另一种则是手动指定数据库驱动、URL、用户名和密码来获取连接。 3. **执行SQL语句**: - `executeUpdate`: 用于执行...

    Jsp+JavaBean+Struts+JDBC,数据库:MySQL信息管理系统

    在实际应用中,通常会使用DataSource来管理数据库连接池,提高性能和资源利用率。 **MySQL**: MySQL是一种关系型数据库管理系统,以其高性能、易用性和开源特性而广受欢迎。在信息管理系统中,MySQL用于存储和管理...

    java web 开发 数据库的连接

    在Tomcat中,可以在`context.xml`配置文件中定义数据源,然后在Java代码中通过`InitialContext`查找并获取数据源,使用`DataSource.getConnection()`方法获取连接。 JavaBeans是一种设计模式,它定义了一种规范,...

    JavaWeb开发技术-数据库连接池.pptx

    数据库连接池的实现可以使用Java中的DataSource接口,例如Apache Commons DBCP、C3P0等。这些实现提供了数据库连接池的管理和分配功能,可以方便地集成到JavaWeb应用程序中。 数据库连接池是JavaWeb开发中的一种...

    JAVA基础:将数据库操作封装到Javabean文档信息

    为了解决这些问题,开发者们通常会将数据库操作封装到 Javabean 中,以隐藏核心数据库操作代码,杜绝直接数据库操作带来的问题,并减少数据库操作的编码量。 封装数据库操作的目的 封装数据库操作的主要目的是为了...

    JSP useBean连接 Access 数据库,不使用数据源

    然而,不使用数据源连接数据库有一些缺点: 1. **安全性**:数据源提供了一种集中管理数据库连接的方式,可以更好地控制访问权限和资源。 2. **连接池**:数据源通常与连接池结合,可以复用已打开的连接,提高性能...

    java连接数据库实例

    在Java编程中,连接数据库是一项基础且至关重要的任务。它使得应用程序能够与各种数据库系统进行交互,例如MySQL、Oracle、SQL Server等。本实例将详细讲解如何使用Java连接数据库,以Dbutils工具库为例,这是一个轻...

    JSP+JavaBean+JDBC

    在这个项目中,数据源(DataSource)被用作JDBC的一个关键概念,它是连接数据库的工厂,简化了数据库连接的管理和关闭,提高了性能和可维护性。 项目中的身份验证流程可能如下: 1. **用户界面**:管理员在JSP页面...

    jsp 数据库连接、操作

    // 连接数据库的代码... } %&gt; connectDB(); %&gt; ``` 4. **使用连接池**: 在实际开发中,为了提高性能和资源利用率,我们会使用连接池管理数据库连接,比如C3P0、Apache DBCP或HikariCP。连接池可以预先...

    jsp链接数据库的各种配置

    在JavaServer Pages (JSP) 中,连接数据库是常见的任务,尤其在开发Web应用程序时。JSP通过Java Servlet技术来实现动态网页,并可以利用Java API与数据库进行交互。本篇文章将详细阐述JSP链接数据库的各种配置,包括...

    数据库连接池

    这种方式极大地减少了连接数据库所需的开销,从而显著提高了应用程序的响应速度和整体性能。 #### 二、数据库连接池配置示例——使用DBCP 在本文档中,我们将通过一个具体的实验案例来详细介绍如何配置DBCP...

    jsp+javaBEAN 做的通讯录

    在本项目中,开发者可能会创建一个`DataSource`实例来管理数据库连接,然后通过PreparedStatement对象执行SQL语句,实现对通讯录数据的CRUD操作。为了提升性能和资源管理,可能还应用了连接池技术,如Apache的DBCP或...

    servlet+jsp+javabean简单案例

    在数据库连接方面,使用了Tomcat的数据源(DataSource)。数据源是Tomcat服务器提供的一种管理数据库连接的机制,它可以高效地管理多个并发请求对数据库的访问,避免了频繁的数据库连接和关闭操作,提高了性能和资源...

    JAVA100例之实例86jspJDBCPool连接池技术

    在JSP中使用连接池,可以将数据库操作封装在JavaBean或Servlet中,然后在JSP页面中调用,这样既保持了页面的清晰性,又实现了数据库连接的高效管理。 在实例86jspJDBCPool中,我们可能会看到以下关键代码片段: - ...

Global site tag (gtag.js) - Google Analytics