初学hibernate (第一次课)

时间:2022-03-06 14:22:07

什么是hibernate?

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任


hibernate可以和数据库进行操作 通过射映文件来关联

每个实体类需要配置hibernate hbm.xml

一个实体类对应数据库的一张表

需要通过hibernate cog.xml 来连接数据库


实列操作:

hibernate的增删查改

public class Test_hibernate {
SessionFactory sessionFactory;
Session session;
Transaction transaction;
@Before
public void before(){
//读取hibernate配置文件
//没有参数自己加载默认的hibernate配置文件
Configuration configuration=new Configuration().configure();
//获取sessionFactory
sessionFactory = configuration.buildSessionFactory();
//获取session
session = sessionFactory.openSession();
//开始事物
transaction=session.beginTransaction();
}

@After
public void after(){
//提交事物
  transaction.commit();
  session.close();
  sessionFactory.close();
}


    public void hibbernate(){
//添加对象
Tab1 tab=new Tab1("李白", "盖世英雄");
session.save(tab);
    }
    
   
    public void selectdan(){
    /*Tab1 tab1=session.get(Tab1.class, 2);
    System.out.println("tab1"+tab1.getUname());*/
        List<Tab1> list=session.createCriteria(Tab1.class).list();
        for (Tab1 tab1 : list) {
System.out.println("tb1:"+tab1.getUid1()+" "+tab1.getUname());
}
    }
    
   
    public void delect(){
    Tab1 tab=new Tab1();
    tab.setUid1(4);
    session.delete(tab);
    }
    
    @Test
    public void update(){
    Tab1 tab=new Tab1();
    tab.setUid1(6);
    //根据ID修改
    tab.setUname("最深情蔡文姬");
    tab.setUpass("123123");
    session.update(tab);
    }