第一个hibernate小结

来源:互联网 发布:苹果相机软件 编辑:程序博客网 时间:2024/05/21 18:31
今天整天终于写完了hibernate的helloworld。其中遇到了各种问题,首先第一次写hibernate控制类时系统找不到sessionFactory的类,可能是jar包没有加对吧。再次是hibernate连接数据库的方言写错了。还有hibernate.cfg.xml的配置出现问题,这些配置我完全不懂,就把看不懂给删了,还好问题解决了。配置user.hbm.xml时对id元素的理解不够造成了对数据库一改再改,sql语句的不熟练也带来不少麻烦。(create table tablename (id int auto_increment,primary key(id),name varchar(20));)
最简单hibernate项目的步骤
1. 加入相应的jar包,可去hibernate的实例项目中拷贝。
2将hibernate.cfg.xml复制到src目录下
3.建立数据库
4根据数据库建立相应的类和属性,方法。
5建立相对应的xxx.hbm.xml,配置表和字段。
6.写hibernate的核心代码
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import com.User;


public class Client {
    public static void main(String[] args){
        SessionFactory sf= new Configuration().configure().buildSessionFactory();
        Session s=null;
        Transaction t=null;
        try{
            User user=new User();
            user.setId(1);
            user.setName("name1");
            s=sf.openSession();
            t=s.beginTransaction();
            s.save(user);
            t.commit();
        }catch(Exception e){
            t.rollback();
            e.printStackTrace();
        }finally{
            s.close();
        }
    }
}

SessionFactory 是session工厂,是线程安全的(不存在线程同步问题)
SessionFactory sf=new Configuration().configure().buildsessionFactory();的意思是读取hibernate.cgf.xml文件,默认的名称,如不使用默认的名称写成SessionFactory sf=new Configuration().configure(“文件名”).buildsessionFactory();
Session是应用程序主要的hibernate接口,有相当与JDBC的Connection+Statement的功能,是线程不安全的
transaction是hibernate的事务是必须的
原创粉丝点击