- 浏览: 7189377 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (397)
- 架构研究 (44)
- 网络协议-TCP/HTTP (20)
- SPRING (23)
- HIBERNATE 3 (30)
- STRUTS 2 (20)
- Java/J2se (25)
- Servlet/Jsp (9)
- 开发工具IDE (10)
- WEB服务器 (17)
- 前端--Java Script (33)
- 前端--CSS (7)
- OS--Linux (31)
- OS--MAC OS (19)
- MySQL数据库 (19)
- Oracle数据库 (11)
- 项目管理工具 (12)
- 数据报表技术 (4)
- 图像处理技术 (10)
- 其它综合技术 (13)
- 权限管理 (1)
- MyBatis (1)
- 网络安全 (6)
- IO (21)
- PostgreSQL (2)
- Eclipse RCP (1)
- GWT (1)
- 算法 (3)
- Storm (2)
- zookeeper (3)
- 消息 (1)
最新评论
-
bukebuhao:
已解决,打开文件太多。ulimit -n 上次临时生效后再次s ...
TFS(Taobao File System)配置dataServer、分区、挂载数据盘 -
bukebuhao:
ds重启后启动不了。报错信息如下,请大神帮助[2018-08- ...
TFS(Taobao File System)配置dataServer、分区、挂载数据盘 -
墨上清:
感谢,看完有了一个完整的知识网络。
Spring MVC 教程,快速入门,深入分析 -
云卷云舒灬:
谢谢,学到很多
Spring MVC 教程,快速入门,深入分析 -
luozhy:
非常感谢非常感谢
Project Web Access ActiveX控件 安装
一个简单的CURD的例子. 源码中不包含所依赖的库, 要不然打的包太大了. Hibernate 版本3.2
PO对象注意:
1 要有默认的构造方法
2 类是非final 修饰的.否则 懒加载无用.
UserDAOImpl类的代码, 其它配置文件,请看附件中的源码包
package dao; import java.util.Date; import org.hibernate.Hibernate; import org.hibernate.Session; import org.hibernate.Transaction; import dao.po.User; /** * 这里做CURD工作 * */ public class UserDAOImpl { /** * @param args */ public static void main(final String[] args) { //test1(); test2(); //test3(); } /** * 保存查询测试 */ public static void test1() { final User u = new User(); u.setBirthday(new Date()); u.setName("北京市"); save(u); get(1); } /** * 修改一个 脱管 的对象, 这是没有先查询. */ public static void test2() { final int id = 6; get(id); final User u = new User(); u.setBirthday(new Date()); u.setId(id); //这里指定ID , 好修改 u.setName("重庆市"); update(u); get(id); } /** * 测试 load 强制加载 */ public static void test3() { final User user = load(1); System.out.println("查询完成:" + user.getName()); } public static void save(final Object obj) { Session s = null; Transaction t = null; try { s = HibernateUtil.getSeesion(); t = s.beginTransaction(); s.save(obj); t.commit(); } finally { if (s != null) { s.close(); } } System.out.println("保存完成"); } public static User get(final int id) { final Session s = HibernateUtil.getSeesion(); final User user = (User) s.get(User.class, id); s.close(); System.out.println("查询完成:" + user.getName()); return user; } public static User load(final int id) { final Session s = HibernateUtil.getSeesion(); final User user = (User) s.load(User.class, id); //强制加载 Hibernate.initialize(user); s.close(); return user; } public static void update(final User u) { Session s = null; Transaction t = null; try { s = HibernateUtil.getSeesion(); t = s.beginTransaction(); s.update(u); t.commit(); } finally { if (s != null) { s.close(); } } System.out.println("修改完成"); } }
package dao; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; /** * 这是一个工具类, 快速取得session * */ public class HibernateUtil { static SessionFactory sessionFactory = null; static { final Configuration cfg = new Configuration(); cfg.configure(); //路径可以改变 sessionFactory = cfg.buildSessionFactory(); } public static SessionFactory getSessionFactory() { return sessionFactory; } /** * 取得session * * @return session */ public static Session getSeesion() { return sessionFactory.openSession(); } }
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="show_sql">true</property> <property name="hibernate.hbm2ddl.auto">update</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql:///test</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">1234</property> <mapping resource="dao/po/User.hbm.xml"/> </session-factory> </hibernate-configuration>
- My-Hibnate.rar (8.3 KB)
- 下载次数: 281
评论
7 楼
rainmars
2009-05-16
hibernateUtil有些问题
6 楼
elf8848
2009-05-07
引用
5 楼 mizhihua 17 小时前 回复 删除
请教和4楼一样的问题
4 楼 keer2345 2009-04-28 回复 删除
这位老大喜欢用final,
用和不用有什么区别呢?请指教!
请教和4楼一样的问题
4 楼 keer2345 2009-04-28 回复 删除
这位老大喜欢用final,
用和不用有什么区别呢?请指教!
是 checkstyle 自动加上地
5 楼
mizhihua
2009-05-06
请教和4楼一样的问题
4 楼
keer2345
2009-04-28
这位老大喜欢用final,
用和不用有什么区别呢?请指教!
用和不用有什么区别呢?请指教!
3 楼
stevensinclair
2009-03-22
JonasChen 写道
不错。学习ING。。。谢啦。。好人一身平安
老大 ! 一身平安?笑了~~~~
2 楼
TTLtry
2009-03-22
跟踪学习Hibernate 觉得看有些书很费力 觉得向编过Hibernate的人学习和借鉴其学习笔记是一种很好的学习方法
1 楼
JonasChen
2009-03-09
不错。学习ING。。。谢啦。。好人一身平安
发表评论
-
Hibernate二级缓存 ---- 最佳实践
2010-11-08 10:17 39286作者:赵磊 博客:ht ... -
Hibernate--泛型DAO
2010-06-27 19:49 5055泛型DAO(翻译) http://www.iteye.com ... -
Hibernate--空位
2010-06-27 15:41 1797原文章已合并整理到: http://elf8848.itey ... -
Hibernate二级缓存 ---- 入门示例
2010-06-27 15:34 4151一. 我们使用oscache来演示 , 引入oscache的j ... -
Hibernate 操作Blob Clob
2010-06-14 16:50 5251Photo.java import java.sql.Bl ... -
Hibernate ---- 控制日志
2010-06-06 11:46 3043Hibernate版本 3.3或3.4 Hibernate ... -
Hibernate悲观锁定与乐观锁定
2010-05-17 15:08 2242悲观锁定 由数据库方面实现. 可见:Hibernate悲观锁 ... -
Hibernate懒加载深入分析
2010-05-14 11:22 8283[size=small] ------------------ ... -
Hibernate批量操作(JDBC批量操作)
2009-03-30 14:52 8402部分内容转自 :http://ga ... -
Hibernate分页查询与泛型
2009-03-26 19:03 7358JE有两篇文章,关于分页查询 与泛型 的,写的很好.这里收藏一 ... -
20 Hibernate 1+N问题的原理与解决
2009-03-04 09:44 13076什么时候会遇到1+N的问题? 前提:Hibernate默认表 ... -
19 Criteria查询,DetachedCriteria离线查询 --做综合查询
2009-03-04 09:35 3732通过Session得到Criteria类的对象 /** ... -
空位空位
2009-03-03 10:22 2334空位空位空位空位 -
17 继承(四)每一个具体的类 映射到一张表
2009-03-02 13:54 2297类(Person) , 男人(Men)继 ... -
16 继承(三)(把前面14,15讲的情况结合起来)
2009-03-02 13:30 2092人类(Person) , 男人(Men)继承"人& ... -
15 继承(二)(每个子类扩展的属性单独保存在一张表中)
2009-03-02 13:07 2069人类(Person) , 男人(Men)继承" ... -
14 继承(一)(整个继承树映射到一张表)
2009-03-02 11:00 2226人类(Person) , 男人(Men)继承" ... -
13 级联和关系维护(Cascade 和Inverse)
2009-03-01 17:58 3040Cascade用来说明当对主对象进行某操作时, 是否对其关联的 ... -
12 映射-- 集合类的映射(Set,List,Map,Array)
2009-03-01 16:18 2622部门类Department , 他有 empa1, emp ... -
11 映射-- 组件映射(人类与姓名类)
2009-03-01 15:26 2360User类: 注意他的name属性 package ...
相关推荐
【我的第一个Hibernate程序】这篇文章是关于初学者如何创建并运行第一个Hibernate程序的详细教程。Hibernate是一个流行的Java ORM(对象关系映射)框架,它允许开发者将数据库操作转换为面向对象的编程,简化了数据...
Hibernate 是一个开源的O/R mappimg的框架,基于JDBC...另外还有两个东东,一个是class2hbm,与第一个相反,是根据class来导出映射文件的。还有一个ddl2hbm,是根据数据库来导出表结构,并生成映射文件和POJO class。
当配置为`Lazy`时,关联的对象会在第一次访问时被加载。这种方式的优点在于可以减少不必要的数据库交互次数,从而提高应用性能。但需要注意的是,如果在一个事务之外访问懒加载的属性,会引发`...
7. **缓存机制**:Hibernate提供了第一级缓存(Session级别的)和第二级缓存(SessionFactory级别的),用于提高性能。了解何时和如何使用缓存是优化Hibernate应用的关键。 通过这个入门小例子,你可以学习到如何...
1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. ...
以MySQL为例,一个基本的配置如下: ```xml <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/...
2. 第一个Hibernate应用程序 - 创建持久化类:以Event类为例,这是一个JavaBean,包含id、title和date属性,每个属性都有对应的getter和setter方法。id作为唯一标识,使用Long类型。注意,类中应有一个无参数的构造...
安装MyEclipse是搭建环境的第一步,它是一个强大的集成开发环境,支持多种Java应用的开发,包括J2EE项目。MyEclipse提供了丰富的工具和功能,包括代码编辑、调试、部署等,是开发Java应用的理想选择。 接下来,安装...
缓存(Caching)是Hibernate提高性能的关键特性,它包括第一级缓存(Session级别的)和第二级缓存(SessionFactory级别的)。Javadoc详细介绍了如何配置和使用缓存,以及与缓存相关的策略。同时,Hibernate支持声明...
- **2001年末**:Hibernate的第一个版本发布。 - **2003年6月8日**:Hibernate 2 发布,并于同年末获得Jolt 2004大奖。 - **2005年3月**:Hibernate 3 正式发布,相比前一版本有重大改变,这份文档将以之前Hibernate...
WebWork是Apache Struts的第二代版本,它提供了一种模型-视图-控制器(MVC)架构,用于构建可维护的、可扩展的Web应用程序。WebWork的核心特性包括强大的动作调度、拦截器机制、强大的表单处理以及强大的异常处理。...
1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. ...
1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. ...
10. **缓存配置**: Hibernate提供了两级缓存机制,一级缓存在Session内部,二级缓存可配置第三方实现,如Ehcache。缓存能提高数据访问效率,但需注意数据一致性问题。 11. **实体生命周期管理**: Hibernate管理实体...
1章 Web的工作机制 2章 搭建Java Web开发环境 3章 JSP及其相关技术 2篇 表现层框架Struts技术 4章 Struts快速上手 5章 解密Struts之核心文件 6章 Struts之数据校验与GJ化 7章 详解Struts之标签库 8章 Struts...
《Hibernate框架深度解析:以hibernate-release-4.3.0.Beta2为例》 Hibernate,作为Java领域中的一款主流对象关系映射(ORM)框架,极大地简化了数据库操作,使得开发者可以专注于业务逻辑而无需过多关注底层SQL的...
Hibernate 是一个开源的Java语言下的对象关系映射(ORM)框架,它允许开发者用面向对象的方式来处理数据库操作,极大地简化了数据访问层的编码工作。在这个环境中,我们将探讨如何搭建一个基本的Hibernate项目,并...
- **第一步**:创建`HibernateSessionFactory`类和`hibernate.cfg.xml`配置文件。`HibernateSessionFactory`是Hibernate的核心,负责管理数据库会话,而`hibernate.cfg.xml`文件用于配置数据库连接信息。 - **第...