Hibernate框架第一天

Hibernate框架第一天

  • Hibernate框架的介绍
  • Hibernate框架环境搭建
  • Hibernate框架配置文件的详解
    • hibernate主配置
    • orm元数据配置
  • Hibernate框架的API详解
    • Configuration对象
    • SessionFactory对象
    • Session对象
    • Hibernate框架的增删改查操作
    • Transaction对象
    • 释放资源

Hibernate框架的介绍

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JaveEE架构中取代CMP,完成数据持久化的重任(本节内容来自百度百科)

Hibernate框架环境搭建

  1. 导包
  2. 创建数据库,准备表,实体
  3. 书写orm元数据(对象与表的映射配置文件)
  4. 书写主配置文件
  5. 代码测试

Hibernate框架配置文件的详解

hibernate主配置




 	
 		
 		
 		com.mysql.jdbc.Driver
  		
  		jdbc:mysql:///crmsystem?serverTimeZone=UTC
  		
  		root
  		
  		970601
  		
  		org.hibernate.dialect.MySQL5Dialect
  		
  		
		true
		
		true
		
		update
		
		
		
	
 

orm元数据配置






	
	
		
		
		
		
		
		
		
	  	
	  	
	  	
	  	
	  	
	  

Hibernate框架的API详解

Configuration对象

学习Configuration对象=>Configuration功能: 配置加载类.用于加载主配置和orm元数据加载

  1. 创建
// 1 创建,调用空参构造
Configuration conf = new Configuration();
  1. 加载主配置
// 2 读取指定主配置文件 => 空参加载方法,加载src下的hibernate.cfg.xml文件
conf.configure();
  1. 加载orm元数据(扩展|了解)
// 3 读取指定orm元数据(扩展),如果主配置中已经引入映射配置.不需要手动加
conf.addResource(resourceName);
conf.addClass(persistentClass);
  1. 创建sessionFactory
// 4 根据配置信息,创建 SessionFactory对象
SessionFactory sessionFactory = conf.buildSessionFactory();

SessionFactory对象

学习SessionFactory对象
SessionFactory功能: 用于创建操作数据库核心对象session对象的工厂,简单说功能就是创建session对象
注意:1.sessionfactory负责保存和使用所有配置信息.消耗内存资源非常大.
2.sessionFactory属于线程安全的对象设计
结论: 保证在web项目中,只创建一个sessionFactory.

// 5 获得session,打开一个新的session对象
Session session = sessionFactory.openSession();
// 获得与线程绑定的session对象
Session session2 = sessionFactory.getCurrentSession();

Session对象

学习Session对象
session对象功能: 表达hibernate框架与数据库之间的连接(会话).session类似于,JDBC年代的connection对象. 还可以完成对数据库中数据的增删改查操作.session是hibernate操作数据库的核心对象

//开启事务并获得操作事务的tx对象(建议使用)
Transaction transaction = session.beginTransaction();

Hibernate框架的增删改查操作

  1. 增加
User user = new User();
user.setPassword("123");
session.save(user);
  1. 删除
User user = session.get(User.class, 7);
session.delete(user);
  1. 更改
User user = session.get(User.class,1);
user.setPassword("123");
session.update(user);
  1. 查询
User user = session.get(User.class, 2);
System.out.println(user);

Transaction对象

//提交事务
transaction.commit();
//回滚事务
transaction.rollback();

释放资源

session.close();//释放资源
sessionFactory.close();//释放资源

你可能感兴趣的:(JAVA,EE,框架)