Hibernate(一)

2017-11-28  本文已影响0人  文艺程序风

Heibernate概述

Heibernate是一个持久层ORM框架

ORM映射:Object Relational Mapping

Hibernate 框架的快速入门

  1. 下载相应的jar包等
  1. 创建WEB工程,引入Hibernate开发所需要的jar包
  1. 编写 JavaBean 实体类

    public class Customer implements Serializable {
      private Long cust_id;
      private String cust_name;
      private Long cust_user_id;
      private Long cust_create_id;
      private String cust_source;
      private String cust_industry;
      private String cust_level;
      private String cust_linkman;
      private String cust_phone;
      private String cust_mobile;
      //省略get和set方法
    }
    
  2. 编写 Hibernate 核心的配置文件

Hibernate的核心

2.png
  1. Configuration接口:负责配置并启动Hibernate
  2. SessionFactory接口:负责初始化Hibernate
  3. Session接口:负责持久化对象的CRUD操作
  4. Transaction接口:负责事务
  5. Query接口和Criteria接口:负责执行各种数据库查询

Hibernate配置文件详情

***.cfg.xml

  1. 核心配置文件的两种方式
  1. 关于hibernate.cfg.xml的配置文件方式

***.hbm.xml

Hibernate 常用的接口和类

Configuration类

  1. 概述
  1. Configuration类的其他应用(了解)

SessionFactory

  1. 是工厂类,是生成Session对象的工厂类

  2. SessionFactory类的特点

  1. 总结

Session 接口

  1. 概述
  1. 特点
  1. 常用的方法

@Test
public void test3(){
Session session = HibernateUtils.getSession();
Transaction transaction = session.beginTransaction();
Customer c = new Customer();
c.setCust_id(96L);
c.setCust_mobile("12312");
c.setCust_name("希拉里");
session.save(c);
transaction.commit();
session.close();

}

@Test
public void test4(){
    Session session = HibernateUtils.getSession();
    Transaction transaction = session.beginTransaction();
    Customer c = new Customer();
    //测试修改
    c.setCust_id(96L);
    c.setCust_mobile("12312");
    c.setCust_name("希拉里2222");
    session.update(c);
    transaction.commit();
    session.close();
    
}

@Test
public void test5(){
    Session session = HibernateUtils.getSession();
    Transaction transaction = session.beginTransaction();
    Customer c = new Customer();
    //测试删除
    c.setCust_id(96L);
    c.setCust_mobile("12312");
    c.setCust_name("希拉里2222");
    session.delete(c);
    transaction.commit();
    session.close();
}

@Test
public void test6(){
    Session session = HibernateUtils.getSession();
    Transaction transaction = session.beginTransaction();
    Customer c = new Customer();
    //测试查询
    c.setCust_id(96L);
    c.setCust_mobile("12312");
    c.setCust_name("希拉里2222");
    Query query = session.createQuery("from  Customer");
    List<Customer> list = query.list();
    for(Customer l : list){
        System.out.println(l);
        
    }
    transaction.commit();
    session.close();
}

@Test
public void test7(){
    Session session = HibernateUtils.getSession();
    Transaction transaction = session.beginTransaction();
    /**
     * Customer c = new Customer();
    //测试保存和修改
    //指定id这种写法是有问题的,id存在就执行修改,不存在就执行添加
    c.setCust_id(120L);
    c.setCust_mobile("12312");
    c.setCust_name("希拉里8888");
     */
    //先查询,再修改
     Customer c = (Customer) session.get(Customer.class, 1090L);
    //测试保存和修改
    //指定id是错误的
    c.setCust_mobile("123321");
    c.setCust_name("希拉里333");
    session.saveOrUpdate(c);
    transaction.commit();
    session.close();
}

Transaction 接口

  1. 常用的方法
上一篇 下一篇

猜你喜欢

热点阅读