Hibernate工作流程

Hibernate创建步骤

(五大核心接口:Configuration/SessionFactory/Session/Transaction/Query)

1.新建工程,导入需要的jar包。

2.利用MyEclipse自动生成功能在工程中创建hibernate.cfg.xml配置文件和

 HibernateSessionFactory.java工具类。生成的主要内容如下:

hibernate.cfg.xml:

  1. <hibernate-configuration>  
  2.   
  3.     <session-factory>  
  4.         <property name="connection.username">root</property>  
  5.         <property name="connection.url">  
  6.             jdbc:mysql://localhost:3306/databasename  
  7.         </property>  
  8.         <property name="dialect">  
  9.             org.hibernate.dialect.MySQLDialect  
  10.         </property>  
  11.         <property name="myeclipse.connection.profile">  
  12.             dangdang  
  13.         </property>  
  14.         <property name="connection.password">root</property>  
  15.         <property name="connection.driver_class">  
  16.             com.mysql.jdbc.Driver  
  17.         </property>  
  18.         <mapping resource="entity/User.hbm.xml" />  
  19.   
  20.     </session-factory>  
  21.   
  22. </hibernate-configuration>  
<hibernate-configuration>

	<session-factory>
		<property name="connection.username">root</property>
		<property name="connection.url">
			jdbc:mysql://localhost:3306/databasename
		</property>
		<property name="dialect">
			org.hibernate.dialect.MySQLDialect
		</property>
		<property name="myeclipse.connection.profile">
			dangdang
		</property>
		<property name="connection.password">root</property>
		<property name="connection.driver_class">
			com.mysql.jdbc.Driver
		</property>
		<mapping resource="entity/User.hbm.xml" />

	</session-factory>

</hibernate-configuration>
HibernateSessionFactory.java:

  1. 略。。。  
略。。。

3.创建UserDao接口和接口的实现类UserDaoImpl,实现类中测试:

UserDaoImpl.java:

  1. public class UserDaoImpl implements UserDao {  
  2.   
  3.     public List<User> findAll() {  
  4.         Session session = HibernateSessionFactory.getSession();  
  5.         Transaction tx = session.beginTransaction();  
  6.         Query query = session.createQuery("from User");  
  7.                 query.setFirstResult(0);//分页   
  8.                 query.setMaxResults(2);  
  9.                 List<User> lists = query.list();  
  10.         tx.commit();  
  11.         HibernateSessionFactory.closeSession();  
  12.         return lists;  
  13.     }  
  14.     public static void main(String[] args) {  
  15.         UserDaoImpl user = new UserDaoImpl();  
  16.         System.out.println(user.findAll().size());  
  17.     }  
  18. }  
public class UserDaoImpl implements UserDao {

	public List<User> findAll() {
		Session session = HibernateSessionFactory.getSession();
		Transaction tx = session.beginTransaction();
		Query query = session.createQuery("from User");
                query.setFirstResult(0);//分页
                query.setMaxResults(2);
                List<User> lists = query.list();
		tx.commit();
		HibernateSessionFactory.closeSession();
		return lists;
	}
	public static void main(String[] args) {
		UserDaoImpl user = new UserDaoImpl();
		System.out.println(user.findAll().size());
	}
}


访问的时候其工作流程:

1.读取并解析配置文件;

2.Configuration负责读取并创建映射信息,创建sessionfactory;

3.SessionFactory负责创建session;

4.Transaction负责开启事物Transaction;

5.Query负责执行持久化操作;

6.Transaction负责提交实物;

7.关闭session;

8.关闭sessionfactory。

持久化对象的三种状态:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值