`
liukaiyi
  • 浏览: 4095 次
社区版块
存档分类
最新评论

hibernate 完整小例

阅读更多
本人初学 hibernate , 望大家多指点
笔记下
xml 代码
xml 代码
 
  1. <property name="show_sql">true<!---->property>   //控制台 运行 输出 sql  
  2. <property name="hbm2ddl.auto">update<!---->property>  // DB 中没表 就 由 mapping create 表
  3. <set name="fkSet" inverse="true" cascade="all">   //inverse =true 有主控 可以             update,delete,.... ;  cascade='all' 可以级连 更新
  4. constranid  反向生成 DB

java 代码 CONFIG_FILE_LOCATION 为  /../hibernate.cfg.xml  路径
 
 
  1. static public void main(String[]args){  
  2.     Configuration cf = new Configuration().configure(CONFIG_FILE_LOCATION);  
  3.     System.out.println("Creating tables...");   
  4.     SchemaExport schemaExport = new SchemaExport(cf);  
  5.     schemaExport.create(truetrue);  
  6. }   //由 hibernate.xml  建表


xml 代码
  1. <xml></xml> version='1.0' encoding='UTF-8'?>  
  2.           "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
  3.           "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
  4. <!---->  
  5. <hibernate-configuration> 
  6. <session-factory>  
  7.     <property name="myeclipse.connection.profile">my<!---->property>  
  8.     <property name="connection.url">jdbc:mysql://localhost/hibernate<!---->property>  
  9.     <property name="connection.username">root<!---->property>  
  10.     <property name="connection.password">123456<!---->property>  
  11.     <property name="connection.driver_class">com.mysql.jdbc.Driver<!---->property>  
  12.     <property name="dialect">org.hibernate.dialect.MySQLDialect<!---->property>  
  13.     <property name="show_sql">true<!---->property>  
  14.     <property name="hbm2ddl.auto">update<!---->property>  
  15.     <mapping resource="bean/Fk.hbm.xml" />  
  16.     <mapping resource="bean/Hql.hbm.xml" /> 
  17. <!----><session-factory></session-factory>> 
  18. <!----><hibernate-configuration></hibernate-configuration>>  

Hql.hbm.xml
xml 代码
  1. <xml></xml> version="1.0" encoding='UTF-8'?>  
  2.                             "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
  3.                             "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
  4. <!---->  
  5. <!---->  
  6. <!---->  
  7. <hibernate-mapping package="bean"> 
  8.     <class name="Hql" table="hql">  
  9.         <id name="id" column="id" type="integer">  
  10.             <generator class="increment"/>  
  11.         <!----><id></id>> 
  12.         <property name="name" column="name" type="string"  not-null="true" /> 
  13.         <set name="fkSet" inverse="true" cascade="all">  
  14.             <key column="hid"/>  
  15.             <one-to-many class="Fk"/>  
  16.         <<!---->set>  
  17.     <<!---->class> 
  18. <!----><hibernate-mapping></hibernate-mapping>>  

Fk.hbm.xml
xml 代码
 
  1. xml version="1.0" encoding='UTF-8'?>  
  2.                             "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
  3.                             "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >  
  4. <!---->  
  5. <!---->  
  6. <!---->  
  7. <hibernate-mapping package="bean">  
  8.     <class name="Fk" table="fk">  
  9.         <id name="id" column="id" type="integer">  
  10.             <generator class="increment"/>  
  11.         <!---->id>  
  12.         <property name="name" column="name" type="string"  not-null="true" />  
  13.         <many-to-one name="hql" column="hid" class="Hql"  not-null="true" />  
  14.     <!---->class>  
  15. <!---->hibernate-mapping>  

test
java 代码
 
  1. public class testHQL extends TestCase { 
  2. //没有DB 会自动加载 hbm2ddl.auto 为 update
  3.     public void testSave(){  
  4.         Session se = HibernateSessionFactory.currentSession() ;  
  5.         Transaction tr = se.beginTransaction() ; 
  6.         Hql qq = new Hql();  
  7.         qq.setName("liukaiyi"); 
  8.         Fk f1 = new Fk();  
  9.         f1.setName("oo");  
  10.         f1.setHql(qq); 
  11.         Set set = new HashSet();  
  12.         set.add(f1);  
  13.         qq.setFkSet(set); 
  14.         se.save(qq);  //hql有  inverse="true" 主控 所以 save hql 也会 save fk
  15.         tr.commit();  
  16.     }  
  17.   
  18.     public void testHql(){  
  19.         Session se = HibernateSessionFactory.currentSession() ;  
  20.         Transaction tr = se.beginTransaction() ; 
  21.         Query q = se.createQuery("from Hql h where h.fkSet.hql = h.id   "); 
  22.         //组合查询 同 select * from hql h , fk f where h.id = f.hid
  23.         for( Iterator it = q.list().iterator() ;it.hasNext();){  
  24.             System.out.println( ((Hql)it.next()).getName() );  
  25.         } 
  26.         tr.commit();  
  27.     }  
  28. }  


分享到:
评论

相关推荐

    Spring3.2.5Hibernate4.0.1Integration 完整範例

    标题 "Spring3.2.5Hibernate4.0.1Integration 完整範例" 指的是将 Spring 3.2.5 版本与 Hibernate 4.0.1 版本整合的一个实例项目。这个项目可能是为了演示如何在实际应用中有效地结合这两个框架,以便于更高效地管理...

    1 Hibernate 第一例

    【标题】:“1 Hibernate 第一例” 【描述】:这篇博客文章主要介绍了如何在实际项目中使用Hibernate,一个流行的Java对象关系映射(ORM)框架,来实现数据库操作。作者通过一个具体的实例,展示了从创建数据库表到...

    SSH整合hibernate完整jar包

    6. **版本兼容性**:SSH框架的版本选择需要注意兼容性问题,例如本例中使用的是Hibernate 4.4.6.Final版本,应确保与Struts和Spring的版本相匹配,避免出现不兼容的API或功能缺失。 7. **测试与调试**:在整合过程...

    hibernate入门小例子

    在本例中,我们将使用Hibernate与MySQL数据库进行连接,MySQL是广泛使用的开源关系型数据库管理系统,而sql-front通常指的是一个图形化的SQL编辑器,用于编写和管理SQL语句。 在JavaWeb项目中集成Hibernate,我们...

    hibernate简单使用例

    **Hibernate简介** Hibernate 是一个强大的Java持久化框架,它简化了数据库操作,使得开发者无需编写大量的JDBC代码就能实现对数据库的CRUD(创建、读取、更新、删除)操作。它通过对象关系映射(ORM)技术,将Java...

    hibernate小例

    **hibernate小例** 在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本示例旨在帮助初学者理解和熟悉Hibernate的基本概念和用法。 首先,我们需要理解Hibernate的...

    关于hibernate3的用户小项目

    这里以MySQL为例,创建一个名为`users`的表,包含`username`、`password`、`email`字段。 在应用层,我们需要编写DAO(Data Access Object)层来处理与数据库的交互。比如,UserService类可以包含增删改查等方法,...

    Hibernate实践例子程序

    以mysql为例,mysql-connector-java-3.1.×-bin.jar。 3. 配置文件。 1) Hibernate全局配置文件,hibernate.properties或者hibernate.cfg.xml.。一般使用XML文件。 2) 数据O/R mapping 配置文件,也就是数据库...

    Struts2_json_jquery_spring_hibernate整合开发例

    综上所述,本整合开发例通过Struts2作为前端控制层,jQuery作为前端交互库,Spring作为业务逻辑层管理框架,Hibernate作为持久层框架,共同构建了一个完整的Java Web应用架构,实现了数据的高效管理和交互,充分展示...

    hibernate_esb配置

    这里我们以Apache ServiceMix为例,它是一个基于OSGi的ESB,支持多种适配器。 1. **JCA适配器方式**:安装并配置JCA Hibernate连接器,如OpenEJB的Hibernate JCA连接器。在ServiceMix中,可以通过Karaf命令行或部署...

    hibernate基本jar包

    总的来说,这个"hibernate基本jar包"为Java开发者提供了完整的Hibernate ORM框架,能够高效、便捷地进行数据库操作,提高开发效率。不过,需要注意的是,随着Java和Hibernate版本的更新,这些库文件可能会有所变化,...

    struct + hibernate +spring组装例

    综上所述,"Struct + Hibernate + Spring 组装例"是一个典型的Java企业级应用架构,它将MVC模式、持久化管理和依赖管理结合在一起,以提高开发效率和系统性能。通过深入理解和熟练运用这些框架,开发者可以构建出...

    hibernate-tutorials_java_hibernate_Eclipse_fallenweg_

    整个教程将以实际项目为例,逐步讲解如何创建实体类、配置映射文件、建立数据库连接,以及执行查询和更新操作。通过这些案例,读者将能够将理论知识应用于实践中,巩固学习成果。 总的来说,"hibernate-tutorials_...

    hibernate实例

    以文档中提供的User实体类为例,它包含了id、username、password、createTime和expireTime等属性,以及这些属性的getter和setter方法。这些属性与数据库中的字段相对应。 3. 数据库连接配置:在hibernate.cfg.xml中...

    Struts/Hibernate应用小例子

    Struts和Hibernate是两个在...它涵盖了从用户界面交互到数据库操作的完整流程,对于学习和理解Struts和Hibernate的集成以及Java Web开发的基本原理非常有帮助。如果你对SSH整合感兴趣,这个例子提供了一个良好的起点。

    hibernate

    以`School`和`Address`为例,假设我们有一个多对多的关系,在这种情况下,`inverse`属性可以用来指定由哪一方来维护这个关联关系。 ```java // School类 @ManyToMany(mappedBy = "schools") private Set&lt;Address&gt; ...

    hibernate-release-5.3.6

    《深入理解Hibernate框架:以hibernate-release-5.3.6版本为例》 Hibernate,一个广受欢迎的Java持久化框架,是Java开发者在处理数据库交互时的强大工具。本文将聚焦于hibernate-release-5.3.6版本,探讨其核心特性...

    一个spring+struts+hibernate的例子

    一个spring+struts+hibernate的例子,是eclipse的工程,用tomcat5和mysql,文件夹下包含所有的源码和库,另外还有一个.sql的文件用于建立数据库。大家觉得它有什么不好,欢迎交流

    spring3+hibernate3+derby的实例

    总结来说,"spring3+hibernate3+derby的实例"是一个完整的Java Web项目,展示了如何使用Spring 3作为应用程序框架,Hibernate 3作为ORM工具,以及Apache Derby作为数据库来构建一个可运行的应用。这样的实例对于学习...

Global site tag (gtag.js) - Google Analytics