Hibernate学习笔记.docx
- 文档编号:12760600
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:25
- 大小:23.85KB
Hibernate学习笔记.docx
《Hibernate学习笔记.docx》由会员分享,可在线阅读,更多相关《Hibernate学习笔记.docx(25页珍藏版)》请在冰豆网上搜索。
Hibernate学习笔记
Hibermate
(7月6号)
1.query与hbp
Stringsql=”formUser(对象)asuserwhereuser.name=?
”;
Queryquery=session.createQuery(hql);
Query.setString(0,name);
Or
Stringsql=”formUser(对象)asuserwhereuser.name=:
name”;
Queryquery=session.createQuery(hql);
Query.setString(“name”,name);
//2.可以用分页时设置
Query.setFirstResult(200);//设置查询的开始
Query.setMaxResult(10);//设置最大的查询结果
Query || preparedstatment相似之处
3.条件查询
Criteriac=session.createCriteria(User.class);//Criteria是一个容器
c.add(Restrictions.eq(“name”,name));
c.add(Restrictions.it(“birthday”,newDate()));
c.setFristResult(0);
c.setMaxResult(10);
4.Hibernate一个简单的实例
Hinernate.cfg.xml配置文件的几个参数:
Connection.driver_class,connection.url,connection.username,connection.password,
Dialect(语言/org.hibernate.dialect.MySQLDialect),hbm2ddl.auto(自动建表)。
hibernate.cfg.xml
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"
--各属性的配置-->
—为true表示将Hibernate发送给数据库的sql显示出来-->
--SQL方言,这边设定的是MySQL-->
--一次读的数据库记录数-->
--设定对数据库进行批量删除-->
—下面为JNDI的配置-->
--数据源的名称-->
comp/env/jdbc/datasourcename
--Hibernate的连接加载类-->
—映射文件-->
2007-12-299:
29:
20|编辑
hibernate.cfg.xml配置总结
Hibernate的描述文件可以是一个properties属性文件,也可以是一个xml文件。
下面讲一下Hibernate.cfg.xml的配置。
配置格式如下:
1.配置数据源
在Hibernate.cfg.xml中既可以配置JDBC,也可以配置JNDI。
在本小节中讲述数据源如何配置。
hibernate.cfg.xml
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"
--各属性的配置-->
—为true表示将Hibernate发送给数据库的sql显示出来-->
--SQL方言,这边设定的是MySQL-->
--一次读的数据库记录数-->
--设定对数据库进行批量删除-->
—下面为JNDI的配置-->
--数据源的名称-->
comp/env/jdbc/datasourcename
--Hibernate的连接加载类-->
—映射文件-->
2.c3p0连接池
c3p0连接池是Hibernate推荐使用的连接池,若需要使用该连接池时,需要将c3p0的jar包加入到classpath中。
c3p0连接池的配置示例如下:
hibernate.cfg.xml
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"
--显示实际操作数据库时的SQL-->
--SQL方言,这边设定的是MySQL-->
--驱动程序,在后续的章节中将讲述mysql、sqlserver和Oracle数据库的配置-->
--JDBCURL-->
--数据库用户名-->
--数据库密码-->
--对象与数据库表格映像文件-->
在上述配置中,Hibernate根据配置文件生成连接,再交给c3p0管理。
3.proxool连接池
proxool跟c3p0以及dbcp不一样,它是自己生成连接的,因此连接信息放在proxool配置文件中。
使用它时,需要将proxool-0.8.3.jar加入到classespath中。
配置举例如下:
hibernate.cfg.xml
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"
--显示实际操作数据库时的SQL-->
--SQL方言,这边设定的是MySQL-->
—proxool的配置-->
--对象与数据库表格映像文件-->
在hibernate.cfg.xml的同目录下编写proxool的配置文件:
ProxoolConf.xml,该文件的配置实例如下:
ProxoolConf.xml
xml version="1.0" encoding="utf-8"?
>
-- the proxool configuration can be embedded within your own application's.
Anything outside the "proxool" tag is ignored. -->
--proxool只能管理由自己产生的连接-->
--驱动的url-->
--jdbc:
mysql:
//localhost:
3306/dbname?
useUnicode=true&characterEncoding=GBK-->
--驱动类,eg.com.mysql.jdbc.Driver-->
--数据库用户名,eg.value为root-->
--数据库密码,eg.value为root-->
-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁-->
-- 指因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受-->
-- 最少保持的空闲连接数-->
-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定-->
-- 最小连接数-->
4.dbcp连接池
在hibernate3.0中,已经不再支持dbcp了,hibernate的作者在hibernate.org中,明确指出在实践中发现dbcp有 BUG,在某些种情会产生很多空连接不能释放,所以抛弃了对dbcp的支持。
若需要使用dbcp,开发人员还需要将commons-pool-1.2.jar 和commons-dbcp-1.2.1.jar两个jar包加入到classpath中。
dbcp与c3p0一样,都是由hibernate建立连接的。
在hibernate2.0中的配置建立如下:
hibernate.cfg.xml
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 2.0//EN"
"
--显示实际操作数据库时的SQL-->
--SQL方言,这边设定的是MySQL-->
--驱动程序,在后续的章节中将讲述mysql、sqlserver和Oracle数据库的配置-->
--JDBCURL-->
--数据库用户名,eg.root-->
--数据库密码,eg.root-->
--对象与数据库表格映像文件-->
5.MySql连接配置
在hibernate中,可以配置很多种数据库,例如MySql、SqlServer和Oracle,MySql的配置举例如下:
hibernate.cfg.xml
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"
--各属性的配置-->
—为true表示将Hibernate发送给数据库的sql显示出来-->
--SQL方言,这边设定的是MySQL-->
--一次读的数据库记录数-->
--设定对数据库进行批量删除-->
--驱动程序-->
--JDBCURL-->
mysql:
//localhost/dbname?
characterEncoding=gb2312
--数据库用户名-->
--数据库密码-->
—映射文件-->
上面使用的驱动类是com.mysql.jdbc.Driver。
需要将MySql的连接器jar包(eg.mysql-connector
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Hibernate 学习 笔记