`
Leacher
  • 浏览: 3539 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

hibernate 方法集合

阅读更多
先定义了一接口:Manager
java 代码
  1. package com.test.dao;   
  2.   
  3.   
  4. public interface Manager {   
  5.   
  6.     void add(Object o);   
  7.   
  8.     void del(Object o);   
  9.   
  10.     void update(Object o);   
  11.   
  12.     <t></t> T load(Class<t></t> t, Object id);   
  13.   
  14.     Integer getNum(Class t);   
  15.   
  16. }   


实现该接口的Bean:ManagerBean
java 代码

  1. package com.test.dao;   
  2.   
  3. import java.io.Serializable;   
  4.   
  5. import org.hibernate.Query;   
  6. import org.hibernate.Session;   
  7. import org.hibernate.SessionFactory;   
  8. import org.hibernate.Transaction;   
  9.   
  10. import com.test.unit.HibernateUtil;   
  11.   
  12. public class ManagerBean implements Manager {   
  13.     SessionFactory sf = HibernateUtil.getSessionFactory();   
  14.   
  15.     public void add(Object o) {   
  16.         // TODO Auto-generated method stub   
  17.         Session session = sf.openSession();   
  18.         Transaction tx = session.beginTransaction();   
  19.         session.save(o);   
  20.         tx.commit();   
  21.         session.close();   
  22.         sf.close();   
  23.     }   
  24.   
  25.     public void del(Object o) {   
  26.         // TODO Auto-generated method stub   
  27.         Session session = sf.openSession();   
  28.         Transaction tx = session.beginTransaction();   
  29.         session.delete(o);   
  30.         tx.commit();   
  31.         session.close();   
  32.         sf.close();   
  33.     }   
  34.   
  35.     @SuppressWarnings("unchecked")   
  36.     public <t></t> T load(Class<t></t> t, Object id) {   
  37.         T load = (T) sf.openSession().load(t, (Serializable) id);   
  38.         // TODO Auto-generated method stub   
  39.         return load;   
  40.     }   
  41.   
  42.     public void update(Object o) {   
  43.         // TODO Auto-generated method stub   
  44.         Session session = sf.openSession();   
  45.         Transaction tx = session.beginTransaction();   
  46.         session.update(o);   
  47.         tx.commit();   
  48.         session.close();   
  49.         sf.close();   
  50.     }   
  51.   
  52.     public Integer getNum(Class t) {   
  53.         // TODO Auto-generated method stub   
  54.         Session session = sf.openSession();   
  55.         Query query = session   
  56.                 .createQuery("select count(*) from " + t.getName());   
  57.         return Integer.parseInt(query.list().get(0).toString());   
  58.     }   
  59.   
  60. }   

测试类:Test
java 代码

  1. package com.test.test;   
  2.   
  3. import com.test.dao.*;   
  4. import com.test.entity.*;   
  5.   
  6. public class Test {   
  7.   
  8.     /**  
  9.      * @param args  
  10.      */  
  11.     public static void main(String[] args) {   
  12.         // TODO Auto-generated method stub   
  13.         Manager m=new ManagerBean();   
  14.         /*  
  15.         Student s=new Student();  
  16.         s.setName("Leacher");  
  17.           
  18.         Teacher t=new Teacher();  
  19.         t.setName("Net");  
  20.         m.add(s);  
  21.         m.add(t);*/  
  22.            
  23.         /*  
  24.         Student s=m.load(Student.class, 5);  
  25.         System.out.println(s.getName());  
  26.         s.setName("Leacher");  
  27.         m.update(s);  
  28.           
  29.         Teacher t=m.load(Teacher.class, 6);  
  30.         System.out.println(t.getName());  
  31.         t.setName("Web");  
  32.         m.update(t);*/  
  33.            
  34.         int len=m.getNum(Teacher.class);   
  35.         System.out.print("记录数为 = "+len);   
  36.            
  37.         int lens=m.getNum(Student.class);   
  38.         System.out.print("记录数为 = "+lens);   
  39.            
  40.         /*添加  
  41.         Teacher t=new Teacher();  
  42.         for(int i=0;i<10;i++){  
  43.             t.setName("Net_"+i);  
  44.             m.add(t);  
  45.         }*/  
  46.            
  47.         /*Student t=new Student();  
  48.         for(int i=20;i<40;i++){  
  49.             t.setName("Student_"+i);  
  50.             m.add(t);  
  51.         }*/  
  52.            
  53.     }   
  54.   
  55. }   

分别测试了各个接口,自己试试吧

分享到:
评论
1 楼 xiaoych 2007-11-09  
楼主辛苦了,我先占个沙发!

相关推荐

    hibernate map 集合映射

    Hibernate集合映射的基本概念 集合映射是Hibernate中一个核心的概念,它允许我们将数据库表中的多对一(OneToMany)、一对多(ManyToOne)、多对多(ManyToMany)等关系映射到Java对象的集合属性上。通过这种方式...

    hibernate set 集合映射

    ### Hibernate集合映射基础 1. **集合类型**:Hibernate支持多种集合类型映射,如Set、List、ArrayList、LinkedList、Map等。Set是最常见的集合映射类型,它不允许重复元素,与数据库中的唯一约束相对应。 2. **...

    hibernate常用方法集合

    让我们详细了解一下`HibernateSessionFactory`类中的关键方法和其背后的原理。 1. **配置和初始化SessionFactory** `HibernateSessionFactory`类通过`cfg.configure(CONFIG_FILE_LOCATION)`来读取配置文件(默认为...

    hibernate bag 集合映射

    标题中的“hibernate bag 集合映射”指的是Hibernate框架中的一种关系映射机制。Hibernate是一个流行的Java ORM(对象关系映射)框架,它允许开发者将数据库表与Java类进行映射,使得在处理数据库操作时可以使用面向...

    Hibernate映射集合属性List

    在Java持久化框架Hibernate中,映射集合属性是常见的需求,特别是对于那些具有一对多、多对多关系的实体对象。这里的"List"是Java集合框架中的一个接口,用于存储一组有序的元素,而在Hibernate中,它常用来映射...

    hibernate list集合映射

    **标题:“Hibernate List集合映射”** 在Java的持久化框架Hibernate中,集合映射是将数据库中的表与Java对象的集合属性关联的过程。List集合映射是其中常见的一种方式,它允许我们将数据库中的一组相关记录映射到...

    Hibernate常见集合映射(Set,List_Array,Map,Bag)

    Hibernate 集合映射详解 Hibernate 是一个流行的Java持久化框架,它提供了多种集合映射类型,以满足不同的业务需求。在 Hibernate 中,集合映射是指将 Java 集合类型与数据库表之间的映射关系。常见的集合映射类型...

    Hibernate集合属性的延迟加载.doc

    在给定的文档中,我们看到一个例子,展示了如何在 Hibernate 中配置一个具有集合属性的实体类 `Person`,以及如何通过映射文件启用延迟加载。`Person` 类拥有一个 `Set&lt;Address&gt;` 类型的 `addresses` 属性,表示个人...

    Hibernate集合映射

    **标题:Hibernate集合映射** **正文:** Hibernate作为Java领域中最流行的ORM(对象关系映射)框架之一,它的核心功能之一就是实现Java对象与数据库表之间的映射。集合映射是Hibernate中一个非常关键的概念,它...

    Hibernate帮助文档集合

    Hibernate帮助文档集合Hibernate帮助文档集合Hibernate帮助文档集合Hibernate帮助文档集合Hibernate帮助文档集合Hibernate帮助文档集合Hibernate帮助文档集合Hibernate帮助文档集合Hibernate帮助文档集合Hibernate...

    Hibernate集合映射与关联关系

    本主题将深入探讨Hibernate集合映射与关联关系,包括"student与Score的Map集合关系"、"student与class的多对一"以及"一对多映射"的概念。 首先,让我们理解一下Hibernate中的集合映射。在关系型数据库中,一个实体...

    Hibernate 对集合属性的操作.zip_hibernate

    在代码中,我们可以通过Session的get或load方法获取User对象,然后通过User对象的orders属性访问其Order集合。 通过深入理解和熟练应用这些知识点,开发者可以高效地在Hibernate中管理集合属性,实现复杂的数据操作...

    hibernate集合的映射

    Hibernate集合映射是ORM的重要组成部分,它使得Java对象和数据库表之间的关系更加直观和灵活。根据实际需求选择合适的集合类型,可以有效地处理复杂的数据关系。在实际应用中,应结合业务场景、数据特性以及性能需求...

    hibernate在集合上的lazy策略

    1. **Hibernate集合映射**:介绍如何在映射文件或注解中配置集合的懒加载,如`@OneToMany(lazy = FetchType.LAZY)`或`&lt;set lazy="true"&gt;`。 2. **Proxy机制**:解释Hibernate如何创建代理对象,以及这个代理对象...

    Hibernate学习文档集合

    《Hibernate学习文档集合》 Hibernate,作为Java领域中的一款强大且广泛应用的对象关系映射(ORM)框架,极大地简化了数据库操作。本集合包含了三个关键的学习文档,分别关注于Hibernate的操作基础、对象关系映射和...

    Hibernate方法总结

    总的来说,HibernateTemplate提供了一组强大的方法来简化Hibernate的日常操作,涵盖了从简单的数据存取到复杂的数据库操作,极大地提升了开发效率。在实际应用中,根据数据量、性能需求以及业务逻辑,选择合适的方法...

    [原]Hibernate集合映射

    《Hibernate集合映射详解》 Hibernate作为Java领域中的一款强大持久化框架,其核心功能之一就是对象关系映射(ORM),使得开发者可以方便地在Java对象与数据库表之间进行交互。其中,集合映射是Hibernate中非常关键...

    使用hibernate封装方法

    标题“使用Hibernate封装方法”暗示我们将讨论如何在项目中通过封装Hibernate操作,以提高代码的复用性和可读性。通常,我们会在DAO(数据访问对象)层进行这些封装,将数据库的CRUD(创建、读取、更新、删除)操作...

    hibernate_集合映射_set方法

    2,建立表的hibernate支持,生成tb_user类和对应的配置文件 3,修改配置文件使之和相应的类对应, 4,修改tb_user类,创建一个set类型的字段emailes,生成它的set和get方法 5,写测试类,对以上内容进行测试。 二、...

    hibernate-validator数据校验jar集合

    1. **注解驱动的验证**:通过在字段或方法上使用特定的JSR 303/349注解,如`@NotNull`、`@Min`、`@Max`、`@Email`等,可以轻松地定义验证规则。 2. **自定义验证注解**:除了预定义的注解外,开发者还可以创建自己...

Global site tag (gtag.js) - Google Analytics