hibernate对连接池的支持

连接池,

作用: 管理连接;提升连接的利用效率!

常用的连接池: C3P0连接池

Hibernate 自带的也有一个连接池,且对C3P0连接池也有支持!

只维护一个连接,比较简陋。

可以查看hibernate.properties文件查看连接池详细配置:

......
#################################
### Hibernate Connection Pool ###
#################################

# Hibernate自带的连接池:只有一个连接
hibernate.connection.pool_size 1

###########################
### C3P0 Connection Pool###
###########################
#Hibernate连接池的参数
#hibernate.c3p0.max_size 2  最大连接数
#hibernate.c3p0.min_size 2  最小连接数
#hibernate.c3p0.timeout 5000  超时连接
#hibernate.c3p0.max_statements 100  最大执行的命令个数
#hibernate.c3p0.idle_test_period 3000 空闲测试时间
#hibernate.c3p0.acquire_increment 2 连接不够用的时候,每次增加的连接数
#hibernate.c3p0.validate false

##############################
### Proxool Connection Pool###
##############################

## Properties for external configuration of Proxool

hibernate.proxool.pool_alias pool1

## Only need one of the following

#hibernate.proxool.existing_pool true
#hibernate.proxool.xml proxool.xml
#hibernate.proxool.properties proxool.properties

#################################
### Plugin ConnectionProvider ###
#################################

## use a custom ConnectionProvider (if not set, Hibernate will choose a built-in ConnectionProvider using hueristics)
#Hibernate对C3P0的连接池支持
#hibernate.connection.provider_class org.hibernate.connection.DriverManagerConnectionProvider
#hibernate.connection.provider_class org.hibernate.connection.DatasourceConnectionProvider
#hibernate.connection.provider_class org.hibernate.connection.C3P0ConnectionProvider
#hibernate.connection.provider_class org.hibernate.connection.ProxoolConnectionProvider

......

Hibernate.cfg.xml 中增加连接池相关配置:

          <!-- 连接池配置 -->
		<!-- 配置连接驱动管理类 -->
		<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
		<!-- 配置连接池参数信息 -->
		<property name="hibernate.c3p0.min_size">2</property>
		<property name="hibernate.c3p0.max_size">4</property>
		<property name="hibernate.c3p0.timeout">5000</property>
		<property name="hibernate.c3p0.max_statements">10</property>	<!-- 最大执行sql语句的条数 -->
		<property name="hibernate.c3p0.idle_test_period">3000</property>
		<property name="hibernate.c3p0.acquire_increment">2</property>

HQL查询

1、分页查询

@Test
	public void test() {
		Session session=sf.openSession();
		session.beginTransaction();

		Query query=session.createQuery("from Employee");

		//从记录数
		ScrollableResults scroll=query.scroll();	//得到滚动的结果集
		scroll.last();								//滚到最后一条
		int totalCount=scroll.getRowNumber()+1;		//得到滚动的记录数,即总记录数

		//设置分页参数
		query.setFirstResult(0);
		query.setMaxResults(4);
		List<Employee> list=query.list();

		for (Employee employee : list) {
			System.out.println(employee);
		}

		session.getTransaction().commit();
		session.close();

	}

2、HQL的各种查询

@Test
	public void testHql() {
		Session session=sf.openSession();
		session.beginTransaction();
		//查询指定的列
//		Query query=session.createQuery("select e.empId,e.empName from Employee e");

		//查询指定的列,同时自动封装【必须要提供带参数的构造器】
//		Query query=session.createQuery("select new Employee(e.empId,e.empName) from Employee e");

		//条件查询  一个条件/多个条件/ or /and /like模糊查询
		//占位符
//		Query query=session.createQuery("from Employee where empName=?");
//		query.setString(0, "王五");
		//条件查询,命名参数
//		Query query=session.createQuery("from Employee where empId=:myId and empName=:myName");
//		query.setParameter("myId", 3);
//		query.setParameter("myName", "王五");
		//模糊查询
//		Query query=session.createQuery("from Employee where empName like ?");
//		query.setString(0, "%王%");

		//聚合函数统计
//		Query query=session.createQuery("select count(*) from Employee");
//		Long num=(Long)query.uniqueResult();
//		System.out.println(num);

		//分组查询
		Query query=session.createQuery("select e.dept,count(*) from Employee e group by e.dept");

		System.out.println(query.list());
		session.getTransaction().commit();
		session.close();
	}

js:多级菜单

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>延迟菜单</title>
    <link rel="stylesheet" type="text/css" href="miaov_style.css">
</head>
<script type="text/javascript">
window.onload = function() {
	var aA=getByClass(document,'normal');
	var aSpan=getByClass(document,'float_layer');
	var timer=null;

	for (var i = aA.length - 1; i >= 0; i--) {
		aA[i].index=i;
		aA[i].onmouseover=function () {
			for (var i = aSpan.length - 1; i >= 0; i--) {
				aSpan[i].style.display='none';
			}

			aSpan[this.index].style.display='block';
			clearInterval(timer);
		}

		aA[i].onmouseout=function () {
			var This=this;

			timer=setTimeout(function () {
				aSpan[This.index].style.display='none';
			},1000);
		}

		aSpan[i].onmouseover=function () {
			clearInterval(timer);
		};

		aSpan[i].onmouseout=function () {
			var This=this;
			timer=setTimeout(function () {
				This.style.display='none';
			},1000);
		}

	}

    function getByClass(oParent, sClass) {
        var aElem = oParent.getElementsByTagName('*');
        var result = [];
        //正则表达式
        // '\' 表示转义
        // \b 在正则里表示单词的边界位置
        // 'i' 区分大小写
        var re=new RegExp('\\b'+sClass+'\\b','i');
        for (var i = aElem.length - 1; i >= 0; i--) {
        	if (re.test(aElem[i].className)) {
        		result.push(aElem[i]);
        	}
        }
        return result;
    }
}
</script>

<body>
    <div id="nav">
        <div class="adorn1"></div>
        <div class="adorn2"></div>
        <ul>
            <li>
                <a class="normal" href="#"><span>首页</span></a>
                <span class="float_layer w1 pos1">
                <span class="arrows"></span>
                <span class="decorate1"></span>
                <span class="decorate2"></span>
                <a href="#"><span>最近更新</span></a>
                <a href="#"><span>活动</span></a>
                <a href="#"><span>报名试听</span></a>
                <a href="#"><span>学员反馈</span></a>
                </span>
            </li>
            <li class="line">
                <a class="normal" href="#"><span>关于我们</span></a>
                <span class="float_layer w2 pos2">
                <span class="arrows"></span>
                <span class="decorate1"></span>
                <span class="decorate2"></span>
                <a href="#"><span>妙味讲师</span></a>
                <a href="#"><span>培训方式</span></a>
                <a href="#"><span>培训理念</span></a>
                <a href="#"><span>联系我们</span></a>
                </span>
            </li>
            <li class="line">
                <a class="normal" href="#"><span>作品</span></a>
                <span class="float_layer w3 pos3">
                <span class="arrows"></span>
                <span class="decorate1"></span>
                <span class="decorate2"></span>
                <a href="#"><span>般固</span></a>
                <a href="#"><span>MATRIX</span></a>
                <a href="#"><span>留学e网</span></a>
                <a href="#"><span>ECMall</span></a>
                </span>
            </li>
            <li class="line">
                <a class="normal" href="#"><span>博客</span></a>
                <span class="float_layer w4 pos4">
                <span class="arrows"></span>
                <span class="decorate1"></span>
                <span class="decorate2"></span>
                <a href="#"><span>JS教程</span></a>
                <a href="#"><span>弹出层效果</span></a>
                <a href="#"><span>3D球面标签云</span></a>
                <a href="#"><span>Window计算器</span></a>
                </span>
            </li>
        </ul>
        <p><a href="#">>>更多</a></p>
    </div>
</body>

</html>

效果连接:延迟菜单、

代码:链接

hibernate对连接池的支持和HQL查询的更多相关文章

  1. hibernate对连接池的支持

    连接池, 作用: 管理连接:提升连接的利用效率! 常用的连接池: C3P0连接池   Hibernate 自带的也有一个连接池,且对C3P0连接池也有支持!   Hbm 自带连接池:          ...

  2. Java Hibernate 之连接池详解

    Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以及DBCP.在配置连接池时需要注意的有三点: 一.Apche的DBCP在Hibernate2中受支持,但在Hiber ...

  3. java框架篇---hibernate之连接池

    Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以及DBCP.在配置连接池时需要注意的有三点: 一.Apche的DBCP在Hibernate2中受支持,但在Hiber ...

  4. HQL查询及Hibernate对c3p0连接池的支持

    //HQL查询 // auto-import要设置true,如果是false,写HQL时要指定类的全名 //查询全部列 Query query = session.createQuery(" ...

  5. Hibernate查询、连接池、二级缓存

    Hibernate第三天: 1. 对象状态 2. session缓存 3. lazy懒加载 4. 映射 一对一对映射 组件/继承映射 目标: 一.hibernate查询 二.hibernate对连接池 ...

  6. Hibernate的查询,二级缓存,连接池

    Hibernate的查询,二级缓存,连接池 1.Hibernate查询数据 Hibernate中的查询方法有5中: 1.1.Get/Load主键查询 使用get或者load方法来查询,两者之间的区别在 ...

  7. hibernate+mysql的连接池配置

    1:连接池的必知概念    首先,我们还是老套的讲讲连接池的基本概念,概念理解清楚了,我们也知道后面是怎么回事了. 以前我们程序连接数据库的时候,每一次连接数据库都要一个连接,用完后再释放.如果频繁的 ...

  8. Hibernate整合C3P0实现连接池

    Hibernate整合C3P0实现连接池 hibernate中可以使用默认的连接池,无论功能与性能都不如C3PO(网友反映,我没有测试过),C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI ...

  9. [JavaEE] Hibernate连接池配置测试

    转载自51CTO http://developer.51cto.com/art/200906/129914.htm Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以 ...

随机推荐

  1. NSString 初始化方法的内存比较

    NSString *str1 = @"hello"; NSString *str2 = @"hello"; NSString *str3 = [NSString ...

  2. hdu 5291 dp+优化 ****

    多校实在高能 题解链接 题意:有n中糖果,每种糖果有ai个.分给A,B两个人.两人的糖果要一样多,可以都是0,1......m个.同一种糖果没有区别. 问有几种分法. 定义dp[i]表示两人之间相差i ...

  3. hdu1963 完全背包(数据压缩)

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1963 注意:题中有一句话说债券的价钱都是1000的倍数,我之前没看到这句话,写的完全背包, ...

  4. [Papers]NSE, $\p_3u$, Lebesgue space [Cao, DCDSA, 2010]

    $$\bex \p_3\bbu\in L^p(0,T;L^q(\bbR^3)),\quad \frac{2}{p}+\frac{3}{q}=2,\quad \frac{27}{16}\leq q\le ...

  5. linux lvm的操作手册_pvcreate_vgcreate_lvcreate_相关

    一. 前言 每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某 个分区需要的容量,还要预见该分区以后可能需 ...

  6. 从LINQ开始之LINQ to Objects(下)

    前言 上一篇<从LINQ开始之LINQ to Objects(上)>主要介绍了LINQ的体系结构.基本语法以及LINQ to Objects中标准查询操作符的使用方法. 本篇则主要讨论LI ...

  7. 支持向量机(SVM)举例

    例(1) 无核(No kernel or linear kernel) 代码和数据集来自于https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes ...

  8. R安装时出现辑程包不存在,解决方法

    R > -------------------------------------------------[解决方案]1.使用命令单独安装caret,安装的时间很长.install.packag ...

  9. HDU 3360 National Treasures(最小点覆盖)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3360 题目大意: 在一个n*m的格子中,每个格子有一个数值,-1表示空,其余表示财宝.每个财宝的数值转 ...

  10. 安全测试之bWAPP环境搭建

    本篇文章介绍独立安装部署bwapp. 安装环境:window7+IIS7+mysql5.6+php5.6 bWAPP下载地址:https://sourceforge.net/projects/bwap ...