hibernate.cfg.xml

 

 

 

<?xml version=‘1.0‘ encoding=‘utf-8‘?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
 
<!--声明Hibernate配置文件的开始-->  
<hibernate-configuration>  
    <!--表明以下的配置是针对session-factory配置的,
    SessionFactory是Hibernate中的一个类,这个类主要负责保存HIbernate的配置信息,以及对Session的操作-->  
    <session-factory>
        <!--配置数据库的驱动程序,Hibernate在连接数据库时,需要用到数据库的驱动程序-->  
        <property name="hibernate.connection.driver_class">  
            oracle.jdbc.driver.OracleDriver
        </property>  
        <property name="hibernate.connection.url">  
            jdbc:oracle:thin:@192.168.1.249:1521:orcl
        </property>  
        <!--连接数据库的用户名-->  
        <property name="hibernate.connection.username">scott</property>  
        <!--连接数据库的密码-->  
        <property name="hibernate.connection.password">sc1234</property>  
        <!--hibernate.dialect 是Hibernate使用的数据库方言,就是要用Hibernate连接哪种类型的数据库服务器。-->  
        <property name="dialect">
            org.hibernate.dialect.OracleDialect
        </property>  
          
          <property name="hibernate.temp.use_jdbc_metadata_defaults">false</property>
          
        <!--hibernate.hbm2ddl.auto  
        指定由java代码生成数据库脚本,进而生成具体的表结构的具体方式    -->    
        <!-- <property name="hbm2ddl.auto">update</property> -->    
        <!--是否在后台显示Hibernate生成的查询数据库的SQL语句,开发时设置为true,便于查询错误,程序运行时可以在Eclipse的控制台显示Hibernate执行的Sql语句。项目部署后可以设置为false,提高运行效率-->  
        <property name="show_sql">true</property>  
        <!--指定映射文件为"com/reiyen/hibernate/domain/User.hbm.xml"-->             
        <mapping resource="com/seecen/config/User.hbm.xml"></mapping>
        <mapping resource="com/seecen/config/Dept.hbm.xml"></mapping>
    </session-factory>  
</hibernate-configuration>

 

 

hibernate.cfg.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">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.seecen.entity.Dept" table="DEPT" schema="SCOTT">
        <id name="deptno" type="java.lang.Long">
            <column name="deptno" precision="22" scale="0" />
            <generator class="assigned"></generator>
        </id>
        <property name="dname" type="java.lang.String">
            <column name="DNAME" length="30" />
        </property>
        <set name="users" inverse="true">
            <key column="deptno"></key>
            <one-to-many class="com.seecen.entity.User"/>
        </set>
    </class>
</hibernate-mapping>

 

 

 

<?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">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.seecen.entity.User" table="T_USER" schema="SCOTT">
        <id name="id" type="java.lang.Long">
            <column name="ID" precision="22" scale="0" />
            <generator class="sequence">
                <param name="sequence">SEQUENCE_USERID</param>  
            </generator>
        </id>
        <property name="userName" type="java.lang.String">
            <column name="USERNAME" length="30" />
        </property>
        <property name="pwd" type="java.lang.String">
            <column name="PWD" length="30" />
        </property>
        <many-to-one name="dept" class="com.seecen.entity.Dept" 
              column="deptno" cascade="save-update">
        </many-to-one>
    </class>
</hibernate-mapping>

 

 

package com.seecen.dao;

import java.util.Iterator;
import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;

import com.seecen.entity.Dept;
import com.seecen.entity.User;

public class UserDao {
    private static ServiceRegistry serviceRegistry = null;
    private static Configuration cfg = null;
    private static SessionFactory sessionFactory = null;

    static {
        cfg = new Configuration().configure();
        serviceRegistry = new StandardServiceRegistryBuilder().applySettings(
                cfg.getProperties()).build();
        sessionFactory = cfg.buildSessionFactory(serviceRegistry);
    }

    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }

    public static void main(String[] args) {
        Session session = null;
        Transaction ts = null;
        try {
            session = UserDao.getSessionFactory().openSession();
            ts = session.beginTransaction();
            // 
//            User u = (User)session.load(User.class, 30L);
//            System.out.println(u.getUserName());
            
//            User user = (User) session.get(User.class,450L);
//            
//            user.setUserName("aa");
//            session.update(user);
            
//            //添加,瞬时状态
//            User user = new User();
//            user.setUserName("大圣小兵");
//            session.save(user);
            
//            //修改,持久状态
//            User u = (User)session.load(User.class, 491L);
//            u.setUserName("大圣大兵");
//            u.setPwd("1324");
//            session.update(u);
            
            // 删除
//            User u = (User)session.load(User.class, 491L);
//            session.delete(u);
            
            
            // 迭代器迭代
            Dept d = (Dept)session.load(Dept.class, 10L);    System.out.println(d.getDname());
            Iterator<User> u = d.getUsers().iterator();
            while(u.hasNext()){
                System.out.println(u.next().getUserName());
            }
            
            
            
            ts.commit();
        } catch (Exception e) {
            ts.rollback();
            e.printStackTrace();
        } finally {
            session.close();
            sessionFactory.close();
        }
        System.out.println("--end--");
    }
}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。