`

hibernate配置和JDBC连接池

 
阅读更多
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

 

这是hiberante.cfg.xml的头文件,固定形式,否则无法解析

----------------------------------------------------------------------------------------------------------------------------------

 </hibernate-configuration>

          </session-factory>

                  配置信息

      </session-factory>

</hibernate-configuration>

----------------------------------------------------------------------------------------------------------------------------------

JDBC配置项目

          数据库用户名:<property name="connection.username">sa</property>

          数据库密码:<property name="connection.password">sa123!</property>

          连接字符串:<property  name="connection.url">jdbc:jtds:sqlserver://localhost:1433/tjp_db</property>

          驱动类:<property name="connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>

          数据库方言:<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>

          数据库名称:<property name="myeclipse.connection.profile">tjp_db</property>

                              <property name="hibernate.session_factory_name">tjp_db</property>

----------------------------------------------------------------------------------------------------------------------------------

常用配置

        

  <!-- 设置数据库名 当url没有指定数据库时设置 -->
          <!--    <property name="default_catalog">orcl</property>-->
          <!--输出所有SQL语句到控制台  -->
         <property name="hibernate.show_sql" >true</property>
         <!--在log和console中打印出更漂亮的SQL。  -->
        <property name="hibernate.format_sql">true</property>
         <!-- 配置自动更新表结构(只能添加列,不能删除) -->
         <property name="hibernate.hbm2ddl.auto">none</property>
         <!-- 启用查询缓存 -->
          <property name="hibernate.cache.use_query_cache">false</property>
        <!-- JavaBean 的xml-->
        <mapping resource="路径(Class.hbm.xml)" />
 

 

----------------------------------------------------------------------------------------------------------------------------------

JDBC连接池

在Tomcat中配置数据源

位置:conf/content.xml

 

 <?xml version='1.0' encoding='utf-8'?>
<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
 <!--	<Resource name="BigMagnate" 
       auth="Container" 
       type="javax.sql.DataSource"  
      maxActive="100"  
      maxIdle="30" 
      maxWait="10000"   
      username="root"   
      password="root" 
      driverClassName="com.mysql.jdbc.Driver"  
     	url="jdbc:mysql://localhost:3306/mydb"/>
   -->
</Context>
 

 

连接池

	/**
	 * 获取数据库连接
	 * 
	 * @throws ClassNotFoundException
	 * @throws SQLException
	 */
	public static Connection getConnection() throws ClassNotFoundException,
			SQLException {
		DataSource ds = null;
		try {
			Context ctx = new InitialContext();
			ds = (DataSource) ctx.lookup("java:comp/env/bookSystem");
			conn = ds.getConnection();
		} catch (NamingException e) {
			System.out.println(e.getMessage());
		}
		return conn;
	}
 

 连接池和数据源的区别 (来源:http://blog.csdn.net/indieinside/article/details/40790231)

 

而我个人认为这两者有不同的:
(1)数据源是一种数据库对编程提供的一个接口,每个数据源对应一个数据库。
(2)连接池只是存放数据库连接对象的一个缓冲池,需要数据连接的时候从缓冲池中取就行了。
(3)连接池可以管理数据源。


用TCP来连接你的应用程序与数据库是一件昂贵的事情(很费时的事情),开发者可以通过用连接池来反复的使用数据库的连接。比起每次请求都用TCP来连一次数据库,连接池只有在不存在有效的连接时才新建一个TCP连接。当关闭一个连接的时候,它会被放到池中,它仍然会保持与数据库的连接,这样就可以减少与数据库的TCP连接次数。
     数据源是指数据的来源,比如数据库。连接池是指这样一个“池子”,池子中的每个东西都是连接数据源的一个“连接”,这样别人想连接数据源的时候可以从这个“池子”里取,用完以后再放回来供以后其他想使用的人使用。
我们一般说的数据源指的就是数据库~

 

数据源是指数据的来源的概括,包含了数据库位置 和 数据库类型等信息,实际上是一种数据连接的抽象。                 
 也可以说,你要得到的信息存放的地方的概括(包括 存放信息的数据库类型、数据库的地址等等信息的概括)。

 

 连接池是指这样的一个“池子”:

 该池子中的每个东西都是连接数据源的一个“连接”,

 这样别人想连接数据源的时候可以从这个“池子”里取,

 用完以后再放回来供以后其他想使用的人使用。


我们一般说的数据源指的就是数据库~

比较形象点的说,连接池就像数据源的代理人,
如我们需要连接(connection)直接找他(连接池)要就可以了,不需要找数据源要;
不用的连接也是直接还给连接池~~

也就是有了连接池,我们没必要直接找数据源打交道了~
连接池在你的程序所在的机器内存,数据源不一定~~
并且数据源和连接池会保持一定数量的连接~
这样我们访问数据库的时候就不需要找数据源要连接,
直接在本地内存中取得连接,可以提高程序的性能~~
上说的都那么抽象,让我用我的自身理解方式说给你
每个连接好比水站的分水管,连接池好比水站,水站的源头好比数据库。
连接池可以控制分水管的数量等其他行为。

分享到:
评论

相关推荐

    在Hibernate中配置Proxool连接池

    在Java开发中,使用Hibernate作为持久层框架时,为了提高数据库操作的性能和资源利用率,通常会引入连接池技术。Proxool是Apache的一个开源项目,它提供了一个轻量级的数据库连接池实现。本篇将详细介绍如何在...

    hibernate配置数据库连接池的三种方法

    C3P0 是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Hibernate中配置C3P0,需要在`hibernate.cfg.xml`文件中添加相关属性,如数据库的URL、用户名、密码、驱动类名,以及...

    hibernate配置连接池大全

    在Java的持久层框架中,Hibernate是一个非常...正确选择和配置连接池,可以大大提高系统的响应速度和稳定性。本文以Proxool为例,介绍了配置过程,并简要提及了其他常见的连接池,希望能为你的项目提供有价值的参考。

    hibernate 配置连接池的三种方法

    C3P0提供了一种简单易用的配置方式,而Tomcat JDBC连接池因其高效和稳定性受到广泛青睐。在配置时,要确保所有必要的属性都已经设置,并根据应用的实际情况调整连接池参数,以优化性能。同时,别忘了在项目中引入...

    hibernate连接池配置及SQLJDBC.jar JNDA.JAR

    资源包括hibernate Sql server2005连接池配置源码,及sqlserverjdbc.jar jTDS3.jar jtds-1.2.jar ojdbc14.jar proxool-0.9.0RC3.jar 等jar包,希望能帮大家一些忙

    hibernate 连接池配置详解

    Proxool是一个轻量级的、高性能的JDBC连接池组件,也是Hibernate官方推荐的连接池之一。下面是使用Proxool配置Hibernate连接池的方法: 1. **添加依赖**:确保项目中有Proxool相关的JAR包。 2. **配置连接池参数**...

    hibernate 配置 C3P0 连接池

    C3P0则是一个强大的、开源的JDBC连接池实现,它提供了对数据库连接的高效管理和复用,能够显著提高数据访问效率,减少数据库连接创建和销毁带来的开销。通过合理的配置,C3P0能够根据应用的实际需求动态调整连接池的...

    Hibernate 中配置C3P0连接池

    C3P0就是一种广泛使用的第三方JDBC连接池实现,它被集成在Hibernate框架中,可以便捷地进行配置。 **1. 为什么选择C3P0连接池** Hibernate自带的连接池算法并不成熟,主要适用于快速开发和学习,而不适合在生产...

    Hibernate2和Hibernate3连接池配置.doc

    本文将详细讲解Hibernate2和Hibernate3中如何配置连接池,以及官方推荐的C3P0、Proxool和DBCP等连接池的使用。 首先,我们需要了解的是,Hibernate2和Hibernate3对连接池的支持有所不同。在Hibernate2中,Apache的...

    数据库连接池以及hibernate对各种连接池的整合

    标题提到的“数据库连接池以及hibernate对各种连接池的整合”是指在Java应用中,特别是使用Hibernate作为持久层框架时,如何集成和配置不同的数据库连接池技术。以下是一些主要的开源数据库连接池及其特点: 1. **...

    hibernate连接池

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Hibernate中配置C3P0,需要在`hibernate.cfg.xml`文件中添加对应的属性,例如`c3p0.min_size`、`c3p0.max_size`来设定...

    最为常见的三种jdbc连接池技术

    jdbc 连接池技术有多种实现,今天我们将要讨论的是 Proxool、C3P0 和 DBCP 三种最常见的 jdbc 连接池技术。 一、Proxool Proxool 是一种 Java 数据库连接池技术,是 sourceforge 下的一个开源项目。这个项目提供一...

    hibernate配置连接池

    Proxool是一个轻量级的开源JDBC连接池,它具有监控和性能报告功能,适合中小型项目使用。 以下是配置Hibernate连接池的一般步骤: 1. 添加依赖:首先,在项目的类路径下添加Proxool的JAR文件,如压缩包“proxool-...

    hibernate连接池.doc

    首先,C3P0是一个开源的JDBC连接池,它提供了数据源和JNDI绑定。在Hibernate中使用C3P0,你需要在配置文件中指定`provider_class`属性为`org.hibernate.connection.C3P0ConnectionProvider`(适用于Hibernate3)。C3...

    Spring+Hibernate+Proxool连接池

    通过这样的配置,Spring和Hibernate可以利用Proxool的连接池服务,实现对数据库连接的有效管理,提升系统的并发处理能力和资源利用率。同时,Proxool的监控功能也能帮助开发者监控数据库连接的状态,以便优化系统...

    Hibernate与常用连接池的配置

    总结,配置Hibernate与连接池的目的是提高应用的性能和资源利用率。选择合适的连接池并正确配置是提升系统效率的关键。在实际开发中,应根据项目的规模和需求选择最适合的连接池。对于大型项目,推荐使用HikariCP,...

    连接池hibernate配置

    "连接池Hibernate配置"这一主题涉及到如何高效地管理数据库连接,以提高应用程序的性能和响应速度。Hibernate,一个强大的对象关系映射(ORM)框架,允许开发者通过Java对象来操作数据库,而连接池的引入则能进一步...

    spring声明式事务管理+jdbc+连接池

    spring声明式事务管理+jdbc+连接池 包内为代码,下载可直接执行。 一直用s2sh,感觉hibernate不好用,所以写了一个spring声明式事务管理+jdbc+连接池。

    配置Hibernate使用Proxool连接池

    3. Proxool配置:除了在Hibernate配置文件中设置基本的数据库连接信息,我们还可以在Proxool的配置文件(如proxool.xml)中设置更详细的连接池参数,比如最大连接数、最小空闲连接数、超时时间等,以优化连接池性能...

Global site tag (gtag.js) - Google Analytics