首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

hibernate annotation(3)

2012-11-05 
hibernate annotation(三)??http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtdpackage

hibernate annotation(三)

    ??"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
        package?onlyfun.caterpillar; ?? ? ?? import?org.hibernate.SessionFactory; ?? import?org.hibernate.Session; ?? import?org.hibernate.Transaction;? ?? import?org.hibernate.cfg.AnnotationConfiguration; ?? import?org.hibernate.cfg.Configuration;? ?? ? ?? public?class?HibernateAnnotationDemo?{ ?? ? ?? ????public?static?void?main(String[]?args)?{ ?? ????????//?需要AnnotationConfiguration读取Annotation讯息 ?? ????????Configuration?config?=?new?AnnotationConfiguration().configure(); ?? ????????//?根据?config?建立?SessionFactory ?? ????????//?SessionFactory?将用于建立?Session ?? ????????SessionFactory?sessionFactory?=?config.buildSessionFactory();? ?? ? ?? ????????//?将持久化的物件 ?? ????????User?user?=?new?User();? ?? ????????user.setName("caterpillar");? ?? ????????user.setAge(new?Integer(30));????? ?? ? ?? ????????//?开启Session,相当于开启JDBC的Connection ?? ????????Session?session?=?sessionFactory.openSession();? ?? ????????//?Transaction表示一组会话操作 ?? ????????Transaction?tx=?session.beginTransaction();? ?? ????????//?将对象映像至数据库表格中储存 ?? ????????session.save(user);? ?? ????????tx.commit();? ?? ????????session.close();? ?? ????????sessionFactory.close();? ?? ??????? ?? ????????System.out.println("新增资料OK!请先用MySQL观看结果!");? ?? ????} ?? }??
      package onlyfun.caterpillar; import org.hibernate.SessionFactory;import org.hibernate.Session;import org.hibernate.Transaction; import org.hibernate.cfg.AnnotationConfiguration;import org.hibernate.cfg.Configuration;  public class HibernateAnnotationDemo { ????public static void main(String[] args) {????????// 需要AnnotationConfiguration读取Annotation讯息????????Configuration config = new AnnotationConfiguration().configure();????????// 根据 config 建立 SessionFactory????????// SessionFactory 将用于建立 Session????????SessionFactory sessionFactory = config.buildSessionFactory();  ????????// 将持久化的物件????????User user = new User(); ????????user.setName("caterpillar"); ????????user.setAge(new Integer(30));????  ????????// 开启Session,相当于开启JDBC的Connection????????Session session = sessionFactory.openSession(); ????????// Transaction表示一组会话操作????????Transaction tx= session.beginTransaction(); ????????// 将对象映像至数据库表格中储存????????session.save(user); ????????tx.commit(); ????????session.close(); ????????sessionFactory.close(); ?????? ????????System.out.println("新增资料OK!请先用MySQL观看结果!"); ????}}

      ?注意,使用Annotation时,需要的是AnnotationConfiguration类别。

      如您所看到的,程序中只需要直接操作User对象,并进行Session与Transaction的相关操作,Hibernate就会自动完成对数据库的操作,您看不到任何一行JDBC或SQL的陈述,撰写好以上的各个档案之后,各档案的放置位置如下:


      接着可以开始运行程序,结果如下:

      Hibernate: insert into user (name, age) values (?, ?)
      新增资料OK!请先用MySQL观看结果!

热点排行