zoukankan      html  css  js  c++  java
  • 针对第一个hibernate小程序所做的修改

    在写hibernate时候涉及到三类文件的编写:java类,映射文件,数据库表结构 

    在开发中:数据库表结构,java类,映射文件

    hibernate中的java类:要有一个缺省的构造方法(反射);

    hibernate中的映射文件:

    <hibernate-mapping package="com.cn.myfirsthibernate">

    <class name="User" table="User">

    <id name="id" colume="id">

    <generator class="assigned"/>   产生主键

    </id>

    </class>

    </bibernate-mapping>

    hibernate初始化过程:

    Configuration cfg=new Configuration();
    cfg.configure();
    SessionFactory sf=cfg.buildSessionFactory();

    新建一个工具类:

    构造方法私有化,其他方法设置成静态的。通过类名直接访问;

    public class HibernateUtil {
    private static SessionFactory sessionFactory;
    private HibernateUtil(){}
    static{
    Configuration cfg=new Configuration();
    cfg.configure();
    sessionFactory=cfg.buildSessionFactory();
    }
    public static SessionFactory getSessionFactory(){
    return sessionFactory;
    }
    public static Session getSession(){
    return sessionFactory.openSession();
    }
    }

    在Base.java类中做如下修改:

    增加了对异常的处理

    public class Base {

    /**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub


    UserTest user=new UserTest();
    user.setBirthday(new Date());
    user.setName("qqq");
    addUser(user);

    System.out.println("--------------------------------end");
    }

    static void addUser(UserTest user){
    Session s=null;
    Transaction tx=null;
    try{
    s=HibernateUtil.getSession();
    tx=s.beginTransaction();
    s.save(user);
    tx.commit();
    }catch(HibernateException e){
    if(tx!=null){
    tx.rollback();
    throw e;
    }
    }finally{
    if(s!=null){
    s.close();
    }
    }
    }

    }

  • 相关阅读:
    PMP CMM
    PM过程的一些典型场景和问题
    PMP的六大管理学定律
    项目经理面试指南
    Sd
    Java 对象池实现
    Java 线程池的实现
    Sd
    Sd
    02.JSP的3个编译指令
  • 原文地址:https://www.cnblogs.com/GodFather001/p/2278881.html
Copyright © 2011-2022 走看看