- 浏览: 560916 次
- 性别:
- 来自: 青岛
文章分类
最新评论
-
myworkfirst:
这个mShowing是哪里的定义的? 有没有完整的例子
通过反射重新设置设置Dialog -
mchaoliu:
楼主,这个方法是在哪调用呢?
修改快速滑动滑块的图片为新浪微博滑块样式 -
fxiaozj:
楼主,这个方法是在哪调用呢?
修改快速滑动滑块的图片为新浪微博滑块样式 -
yun2223:
感谢一下,把gen 添加到source 以及检查一下 其他路 ...
gen already exists but is not a source folder -
flyingsir_zw:
解决方法: 1. 右键点击工程,选择 "Proper ...
gen already exists but is not a source folder
步骤:
1.创建一个java project;
2.创建User Libraries,加入如下jar:
* hibernate-3.2/Hibernate3.jar(核心jar)
* hibernate-3.2/lib/下的全部jar
* MySql jdbc驱动
注意:创建User Library 的时候不要点[System library]的对勾.
3.在工程中build path > Add libraries > User Library > 自定义library .
4.在工程中src/下加入hibernate.cfg.xml,可以从hibernate3.2/etc/下找到。
(Hibernate支持hibernate.properties和两种文件格式的配置,大多用
hibernate.cfg.xml)。
5.hibernate.cfg.xml的写法,删除多余部分,只剩下session-factory 节点,
然后参照模板文件hibernate.properties完善配置,hibernate.properties
中全是以键值对的形式存在,用在hibernate.cfg.xml中一般键做name属性,值做
value节点值:
6.为了便于调试,最好在src/下加入log4j配置文件(hibernate3.2/etc/下可以找到)
<property name="hibernate.hbm2ddl.auto">update</property>
设置使用工具类生成数据库表的时候,只修改修改过的部分,不是完全覆盖。
7.Hibernate正确的使用方式是创建实体类,写好映射文件,让Hibernate生成数据库表,
示例,新建一个实体类:
8.定义实体类的映射文件,完成 O → R 的映射mapper,文件名格式:xxx.hbm.xml,通常
放在和实体类一个目录下,该文件可以参考Hibernate3\eg\org\hibernate\aution\中的映射文件。
注意:id标签必须写在property的前面
9.xxx.hbm.xml写好之后,Hibernate还不知道这个xml的存在,必须将它加入到
hibernate.cfg.xml文件中。
10.hibernate不会自动把实体类映射成数据表,需要我们编写hbm2ddl工具类,把实体类
生成数据库表。
11.打开数据库新建数据库hibernate_first和数据表User(Hibernate.cfg.xml
中的名字),执行main()后查看数据库表中字段的情况,Hibernate已经为我们
在表中添加好了字段。
12.开发客户端,在表中插入数据:
执行Client,查看打印信息,Hibernate为我们打印了很多信息,如果不想看太多,可以进
log4j中加#注释掉,但是log4j.rootLogger =warn , stuout 不要注释,这样再次执行clent 控制台什么提示也没有了,但操作时成功的,数据库又多了一条数据,可以让Hibernate只显示sql语句,修改hibernate.cfg.xml,加入show_sql值:
Hibernate Tools 下载地址:
http://www.jboss.org/tools/download/stable/3_1_GA.html
1.创建一个java project;
2.创建User Libraries,加入如下jar:
* hibernate-3.2/Hibernate3.jar(核心jar)
* hibernate-3.2/lib/下的全部jar
* MySql jdbc驱动
注意:创建User Library 的时候不要点[System library]的对勾.
3.在工程中build path > Add libraries > User Library > 自定义library .
4.在工程中src/下加入hibernate.cfg.xml,可以从hibernate3.2/etc/下找到。
(Hibernate支持hibernate.properties和两种文件格式的配置,大多用
hibernate.cfg.xml)。
5.hibernate.cfg.xml的写法,删除多余部分,只剩下session-factory 节点,
然后参照模板文件hibernate.properties完善配置,hibernate.properties
中全是以键值对的形式存在,用在hibernate.cfg.xml中一般键做name属性,值做
value节点值:
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> </session-factory> </hibernate-configuration>
6.为了便于调试,最好在src/下加入log4j配置文件(hibernate3.2/etc/下可以找到)
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <!-- 一个数据库对应一个sessionfactory --> <session-factory> //jdbc:mysql://localhost/数据库的名字 或者 //jdbc:mysql://局域网ip/数据库的名字 <property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate_first</property> //如果这里换成了其他的数据库,只要修改值就可以,因为hibernate.cfg.xml数据库方言的存在,所以非常方便 <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">123</property> //Hibernate适配器,又称方言,它带来了很好的移植性 <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> </session-factory> </hibernate-configuration>
<property name="hibernate.hbm2ddl.auto">update</property>
设置使用工具类生成数据库表的时候,只修改修改过的部分,不是完全覆盖。
7.Hibernate正确的使用方式是创建实体类,写好映射文件,让Hibernate生成数据库表,
示例,新建一个实体类:
package com.wyx.hibernate; import java.util.Date; public class User { private String id;//给实体一个唯一性的标识 private String name; private String password; private Date createTime; private Date expireTime; //getter and setter .... }
8.定义实体类的映射文件,完成 O → R 的映射mapper,文件名格式:xxx.hbm.xml,通常
放在和实体类一个目录下,该文件可以参考Hibernate3\eg\org\hibernate\aution\中的映射文件。
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <!-- 删掉其他的 只剩下根节点 --> </hibernate-mapping>
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <!-- 对类进行映射,name = "完整路径" , 默认存的表和实体类的名字一致, 可以用 table = "xxx"更改生成的数据库表--> <class name="com.wyx.hibernate.User"> <!-- 标识 数据表默认字段和实体属性名一致,可用column="xxx"来重新定义字段名--> <id name="id"> <!-- 主键的生成策略 uuid全局的唯一标识,32位字符串,一般一万年不会重复--> <generator class="uuid"/> </id> <!-- 除了标识以外,都用property来映射 ,生成的字段可以重命名--> <property name="name"/> <property name="password"/> <property name="createTime"/> <property name="expireTime"/> </class> </hibernate-mapping>
注意:id标签必须写在property的前面
9.xxx.hbm.xml写好之后,Hibernate还不知道这个xml的存在,必须将它加入到
hibernate.cfg.xml文件中。
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate_first</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">123</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <!-- resource ="映射文件的完整路径,不是包名!"--> <!-- 这样Hibernate就会把xxx.hbm.xml加载进来,分析并生成数据表 --> <mapping resource="com/wyx/hibernate/User.hbm.xml"/> </session-factory> </hibernate-configuration>
10.hibernate不会自动把实体类映射成数据表,需要我们编写hbm2ddl工具类,把实体类
生成数据库表。
package com.wyx.hibernate; import org.hibernate.cfg.Configuration; import org.hibernate.tool.hbm2ddl.SchemaExport; public class ExportDB { public static void main(String[] args) { //读取hibernate.cfg.xml文件 , 如果不加.configure()默认会读取hibernate.properties Configuration cfg =new Configuration().configure(); SchemaExport export = new SchemaExport(cfg); export.create(true, true); } }
11.打开数据库新建数据库hibernate_first和数据表User(Hibernate.cfg.xml
中的名字),执行main()后查看数据库表中字段的情况,Hibernate已经为我们
在表中添加好了字段。
12.开发客户端,在表中插入数据:
package com.wyx.hibernate; import java.util.Date; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class Client { public static void main(String[] args) { // 读取hibernate.cfg.xml Configuration cfg = new Configuration().configure(); //创建sessionfactory,一个数据库对应一个sessionfactory, //如果有多个sessionfactory,则hibernate.cfg.xml中要有多个 //sessionfactory节点 SessionFactory factory =cfg.buildSessionFactory(); //不要用classic下的Session创建,那是hibernate2.x用的 //这个Session不是http的session,理解为对connection对象的封装 Session session = null; try { //从工厂创建一个session(类似于创建连接) session = factory.openSession(); //开启事务,hibernate默认的autocommit是false //所以要手动开启事务,手动提交 session.beginTransaction(); //实体类User new出来的对象user对应表中的一条记录 User user =new User(); user.setName("张三"); user.setPassword("123"); user.setCreateTime(new Date()); user.setExpireTime(new Date()); //调用save方法保存进DB session.save(user); //用session获得上文开启的事物并提交 session.getTransaction().commit(); } catch (HibernateException e) { e.printStackTrace(); // 出现问题之后,回滚事务 session.getTransaction().rollback(); }finally { //最后关闭session(关闭连接) if(session != null) { //判断session是打开的才关闭 if(session.isOpen()) { session.close(); } } } } }
执行Client,查看打印信息,Hibernate为我们打印了很多信息,如果不想看太多,可以进
log4j中加#注释掉,但是log4j.rootLogger =warn , stuout 不要注释,这样再次执行clent 控制台什么提示也没有了,但操作时成功的,数据库又多了一条数据,可以让Hibernate只显示sql语句,修改hibernate.cfg.xml,加入show_sql值:
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate_first</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">123</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <!--打印sql语句 方便调试--> <property name="hibernate.show_sql">true</property> <!--实体类的映射文件别忘了加入hibernate.cfg.xml --> <mapping resource="com/wyx/hibernate/User.hbm.xml"/> </session-factory> </hibernate-configuration>
Hibernate Tools 下载地址:
http://www.jboss.org/tools/download/stable/3_1_GA.html
发表评论
-
hibernate tools 及 插件的扩展安装
2011-05-06 11:51 1291一、hibernate tools 及 很多eclipse插件 ... -
hibernate3.2 (十)HQL查询
2011-03-25 10:52 2474hibernate 语言查询(hibernate query ... -
lazy 策略
2011-03-24 17:16 945lazy可以用在class、property、集合、one-t ... -
hibernate3.2(九)多对多关联映射
2011-03-24 14:43 1440多对多关联映射通常采用第三方表,这张表存储了他们之间的关联关系 ... -
hibernate3.2(八)一对多关联映射
2011-03-23 17:35 1442在数据库设计方面,一对多关系关联和多对一关联关系是一样的,都是 ... -
session flush() evict()
2011-03-23 16:38 1297evict方法是从当前缓存中移除某个持久化实例. flush ... -
hibernate3.2 (七)一对一关联映射
2011-03-22 17:42 1375一个人只能有一个身份证号码。 1对1单向关联,即单向引用,例 ... -
hibernate3.2(六)多对一关联映射
2011-03-22 16:36 1201多个用户对应一个组,要在用户中体现出多对一,所以用户中要pri ... -
Baseic O/R Mapping 常用标签备忘
2011-03-22 14:10 1011id:被映射的类必须定义对应数据库表主键字段。大多数类有一个J ... -
hibernate3.2 (五)Query初步
2011-03-22 09:12 1092query主要支持HQL(Hibernian查询语言,是查询对 ... -
HibernateUtils
2011-03-20 21:56 1747由于SessionFactory是线程安全的,在hiberna ... -
Hibernate3.2(四)生命周期示例、CRUD操作、Junit 3单元测试
2011-03-20 17:10 1720抽时间 总结junit3和junit4的相关测试方法 ,ju ... -
Hibernate3.2(三)Hibernate 对象的生命周期
2011-03-20 15:51 1084Hibernate 持久化对象的生命周期(lifecycle) ... -
Hibernate3.2(二)Hibernate Session
2011-03-20 15:49 1184关于session的参考 hibernate 采用sessi ... -
hibernate3.2简介
2011-03-18 19:49 1070时间关系,这里留下几个关键词供以后再整理用: hibernat ...
相关推荐
Hibernate 3.2 是一个非常重要的Java持久化框架版本,它极大地简化了数据库与Java对象之间的交互,使得开发者能够更加专注于业务逻辑而不是繁琐的数据访问层实现。本篇将深入探讨Hibernate 3.2的主要特性、核心概念...
Hibernate 是一个广泛使用的开源对象关系映射(ORM)框架,它的核心目标是简化Java应用程序与数据库之间的交互。在Hibernate 3.2版本中,这个框架提供了丰富的功能和改进,使得开发者能够更加高效、便捷地处理数据...
Hibernate 3.2 是一个非常重要的Java持久化框架,它为开发者提供了强大的对象关系映射(ORM)功能,使得在Java应用中操作数据库变得更加简单。这个核心jar包包含了实现Hibernate功能所需的所有基本类和接口,是开发...
SessionFactory是线程安全的,通常在整个应用生命周期中只创建一个。 - **Session**:它是与数据库交互的前线接口,用于执行CRUD操作(创建、读取、更新和删除)。 - **Query和Criteria API**:这两者提供了执行...
Hibernate 是一个著名的开源对象关系映射(ORM)框架,它为Java开发者提供了便捷的数据持久化方式,使得在Java应用程序中操作数据库变得更加简单。这个“hibernate_3.2官方开发包”包含了所有你需要开发基于...
Hibernate3.2是其发展中的一个重要版本,提供了许多改进和新特性。 在《Hibernate3.2官方中文参考手册》中,我们可以深入学习到以下关键知识点: 1. **对象关系映射(ORM)基础**:ORM的核心思想是将数据库中的...
Hibernate 是一个著名的开源对象关系映射(ORM)框架,它为Java开发者提供了便捷的数据持久化方式,使得在Java应用程序中操作数据库变得更加简单。这个压缩包包含的是Hibernate 3.2版本的源代码,这是一个非常重要的...
Hibernate 3.2虽然自带了一个连接池,但由于性能和稳定性问题,官方并不推荐使用。它默认的连接池在处理大量请求或需要高容错能力的应用场景下表现不佳,可能存在BUG。尽管如此,配置方法如下: ```xml ...
Hibernate 3.2 是一个流行的Java对象关系映射(ORM)框架,它允许开发者使用面向对象的编程方式来操作数据库,极大地简化了数据库操作。在这个压缩包中,包含的文件是完整支持Hibernate 3.2版本运行所需的所有组件,...
Hibernate 3.2引入了第一级缓存(Session级别)和第二级缓存(SessionFactory级别)。第一级缓存默认开启,提供高性能的本地缓存;第二级缓存可以通过插件如Ehcache实现,支持集群环境下的缓存共享。 七、高级特性 ...
Hibernate是一个强大的Java持久化框架,它简化了数据库与对象之间的交互,使得开发者无需编写大量的SQL语句即可完成数据库操作。此参考文档针对的是Hibernate 3.2版本,是学习和理解Hibernate功能的重要资源。文档...
《Hibernate3.2官方中文参考手册》是一本深入解析Hibernate3.2框架的重要参考资料,对于从事Java企业级应用开发的人员来说,具有极高的学习价值。Hibernate作为一个强大的对象关系映射(ORM)框架,能够帮助开发者将...
Hibernate是一个开源的对象关系映射(ORM)框架,它允许开发者使用面向对象的编程方式来操作数据库,从而简化了Java应用程序中的数据访问层。在“hibernate-3.2 jar包”中,包含了一系列用于支持Hibernate 3.2版本...
Struts1是最早的MVC(Model-View-Controller)框架之一,它为Java Web应用程序提供了一个结构化的开发模型。Struts1的核心组件包括ActionServlet、ActionForm、Action、Tiles等。ActionServlet作为控制器,负责处理...
1. **缓存增强**: Hibernate 3.2 引入了更强大的缓存机制,包括第二级缓存和查询缓存,可以显著提高数据访问速度。 2. **JPA支持**: 3.2版本增加了对Java Persistence API(JPA)的支持,使得开发者可以选择使用JPA...
Hibernate3.2是该框架的一个重要版本,它引入了多项增强功能和优化,提高了开发效率和性能。这份中文手册为开发者提供了全面的指导,帮助理解和应用Hibernate 3.2。 **1. Hibernate 概述** Hibernate 允许开发者将...
Hibernate 是一个开源的对象关系映射(ORM)框架,它允许 Java 开发者在数据库上操作对象,而无需直接编写 SQL 查询语句。下面,我们将深入探讨 Hibernate 3.2 API 中的一些核心知识点。 1. **SessionFactory**:这...
Hibernate是一个开放源代码的对象关系映射(ORM)框架,它极大地简化了Java开发者与数据库之间的交互,通过将业务对象与SQL语句解耦,使得开发人员可以更加专注于业务逻辑,而不是底层的数据存储。 在Hibernate 3.2...
Hibernate 3.2是Java开发中的一个关键框架,主要用于简化对象关系映射(ORM)的任务。这个核心包包含了实现ORM功能所需的所有基本组件,使得开发者能够将Java类与数据库表进行映射,从而在Java应用中操作数据库变得...
4. **缓存机制**: Hibernate 提供了第一级缓存(Session级别的缓存)和第二级缓存(SessionFactory级别的缓存),提高数据访问速度。 5. **查询语言(HQL)**: Hibernate 查询语言(HQL)是一种面向对象的查询语言...