Hibernate框架


框架是什么?

1.框架是用来提高开发效率的
2.封装了一些功能,我们需要使用这些功能时调用即可,不需要手动实现
3.所以框架可以理解为是一个半成品项目,我们只需要懂得如何驾驭这些功能即可

Hibernate框架是什么?

Hibernate的好处?

操作是数据库的时候.可以以面向对象的方式来完成,不需要书写SQL语句

Hibernate是一款orm框架


orm:object relation mapping 对象关系映射.

 

使用配置(或者其他手段)将对象的信息数据库的表进行绑定来完成持久化操作,这种性质就称为orm

搭建Hibernate框架


1.导包


  
    
      junit
      junit
      4.11
      test
    
    
    
      org.hibernate
      hibernate-core
      5.0.7.Final
    
    
    
      org.hibernate
      hibernate-entitymanager
      5.0.7.Final
    
    
    
      javax.servlet
      jsp-api
      2.0
      provided
    
    
    
      javax.servlet
      javax.servlet-api
      4.0.1
      provided
    
    
    
      mysql
      mysql-connector-java
      5.1.6
    
  

2.创建数据库,准备表

DROP TABLE IF EXISTS `customer`;
CREATE TABLE `customer` (
  `c_id` int(18) NOT NULL DEFAULT '0',
  `c_name` varchar(155) DEFAULT NULL,
  PRIMARY KEY (`c_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of customer
-- ----------------------------
INSERT INTO `customer` VALUES ('1', 'zhangsan');

3.书写orm元数据(对象与表的映射配置文件)

<?xml version="1.0" encoding="UTF-8"?>

 
 

     
    
        
        
            
            
        
        
        
        
        
        
        
        
         
          
            
             
        
            
            
        
    

4.书写住配置文件

<?xml version='1.0' encoding='utf-8'?>


  
    
    com.mysql.jdbc.Driver
    
    jdbc:mysql://localhost:3306/test
    
    root
    
    123456
    
    org.hibernate.dialect.MySQLDialect

    
    true
    
    true

    
    

    
    4

    


    
    
    
  

5.书写代码测试

public class Test01 {
    private SessionFactory sessionFactory;
    private Session session;
    private Transaction transaction;
    @Test
    public void fun1(){
        Configuration conf = new Configuration().configure("hibernate.cfg.xml");

        //获取session工厂
        sessionFactory = conf.buildSessionFactory();
        System.out.println(sessionFactory);

        session = sessionFactory.openSession();

        transaction = session.beginTransaction();

        //=================保存客户信息
       Customer customer = new Customer();
       customer.setcId(1);
       customer.setcName("zhangsan");
       session.save(customer);

       transaction.commit();
       session.close();
       sessionFactory.close();

    }