zoukankan      html  css  js  c++  java
  • 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--");
        }
    }
  • 相关阅读:
    总结一下HtmlAgilityPack
    sql server中获得刚刚插入的记录的主键ID
    关于存储过程的一点总结
    asp.net 中System.Web.UI.Page子类的成员变量的生存周期
    sql server存储过程模板
    第三方库HtmlAgilityPack的一个Bug
    如何在存储过程内部调用另一个存储过程 EXEC
    C#中的哈希表和字典的区别
    Android Intent的几种用法全面总结
    个人练习:ListView绑定数据和显示的几种方式
  • 原文地址:https://www.cnblogs.com/cfb513142804/p/4244618.html
Copyright © 2011-2022 走看看