Hibernate单表操作

来源:互联网 发布:简明python教程在哪买 编辑:程序博客网 时间:2024/05/01 01:00

     单表操作是Hibernate中的最简单的操作了。因此简单的说明一下。

     首先编写hibernate.cfg.xml文件

<?xml version='1.0' encoding='UTF-8'?>
<!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="connection.username">user</property>
    <property name="connection.url">db2...</property>
    <property name="connection.password">pswd</property>
    <property name="dialect">org.hibernate.dialect.DB2Dialect</property>
    <property name="connection.driver_class">com.ibm.db2.jcc.DB2Driver</property>
    <property name="show_sql">true</property>
  <property name="hibernate.hbm2ddl.auto">update</property>
    <mapping resource="bean/ZqTest.hbm.xml"/>   
</session-factory>

</hibernate-configuration>

 

编写bean(略) 和 对应的 hbm.xml文件

 

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
          "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="bean.ZqTest" table="ZQTEST">
<id name="id" column="ID" type="int">
    <generator class="increment"/>
</id>
<property name="name" column="NAME" type="string" not-null="true"/>
<property name="age" column="AGE" type="int" not-null="true"/>
</class>
</hibernate-mapping>


这就是一个最简单的hibernate映射

 

 以下是测试代码

 

             Configuration config = new Configuration().configure();
             SessionFactory sessionFactory = config.buildSessionFactory();
             Session session = sessionFactory.openSession();
   
             Transaction tx = null;
        
             tx = session.beginTransaction();
            
             //创建一个新的实例
             ZqTest z = new ZqTest();
             z.setName("dd");
             z.setAge(80);
            
             //保存
             //session.save(z);
            
             //检索
             List testlist = session.createQuery("from ZqTest").list();
             Iterator it = testlist.iterator();
            
             //打印出查询结果的个数
             System.out.println("append:"+testlist.size());
            
             //迭代出所有的查询内容
             while(it.hasNext())
             {
                 ZqTest test = (ZqTest)it.next();
                 System.out.print("ID:" + test.getId());
                 System.out.print("  Name:" + test.getName());
                 System.out.println("  Age:" + test.getAge());
             }
            
             //检索一个
             ZqTest zz = (ZqTest)session.load(ZqTest.class,3);
             System.out.print(zz.getName());
            
             //更新 这里直接将数据库中的内容进行更新操作
             zz.setName("ffff");
             //session.saveOrUpdate(zz);
             tx.commit();

原创粉丝点击