hibernate4--01初识

1. 持久化

  • 侠义概念:数据存储在物理存储介质不会丢失。
  • 广义概念:也就是对数据的crud操作都叫持久化。
  • 加载:hibernate里的,数据从数据库中加载到session。

2. ORM(object relation mapping)

image

解决阻抗不匹配(对象和关系数据库不匹配)问题。
没有侵入性:在代码中不用去继承hibernate类或实现hibernate提供接口
Hibernate:是一个orm的轻量级框架;解决持久化操作,使得程序员可以从编写繁复的jdbc工作中解放出来。专注于业务。提高程序员开发效率。移植性。

image

3. 编写配置文件hibernate.cfg.xml文件,放入到项目中src下:


    
        
        com.mysql.jdbc.Driver
        jdbc:mysql://localhost:3306/hibernate4
        root
        root
        
        org.hibernate.dialect.MySQL5Dialect
    

4. 创建数据库表,以及对应的pojo对象

public class User {
    private int id;
    private String name;
    private String pwd;
    }

5. 编辑*.hbm.xml文件,文件名一般为pojo类的名称User.hbm.xml,放在pojo类所在的包下


    
        
            
            
        
        
         
          
    

6. 测试:将*.hbm.xml配置文件加入到hibernate.cfg.xml中

public static void main(String[] args) {
        //1.新建Configuration对象
        Configuration cfg = new Configuration().configure();
        //2.通过Configuration创建SessionFactory对象
            //在hibernate3.x中是这种写法
            //SessionFactory sf = cfg.buildSessionFactory();
        //hibernate4.3之前~hibernate4.0
//      ServiceRegistry sr = new ServiceRegistryBuilder()
//                          .applySettings(cfg.getProperties())
//                          .buildServiceRegistry();
        //hibernate4.3
        ServiceRegistry registry = new StandardServiceRegistryBuilder()
                            .applySettings(cfg.getProperties())
                            .build();
        SessionFactory sf = cfg.buildSessionFactory(registry);
                //或者
                //SessionFactory sf = cfg.buildSessionFactory();
        //3.通过SessionFactory得到Session
        Session session = sf.openSession();
        //4.通过session对象 得到Transaction对象
        //开启事务
        Transaction tx = session.beginTransaction();
        //5.保存数据
        User user = new User();
        user.setName("张三疯");
        user.setPwd("1111");
        session.save(user);
        //6.提交事务
        tx.commit();
        //7.关闭session
        session.close();
    }

你可能感兴趣的:(hibernate4--01初识)