Hibernate創建步驟
(五大核心接口:Configuration/SessionFactory/Session/Transaction/Query)
1.新建工程,導入需要的jar包。
2.利用MyEclipse自動生成功能在工程中創建hibernate.cfg.xml配置文件和
HibernateSessionFactory.java工具類。生成的主要內容如下:
hibernate.cfg.xml:
<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:
略。。。
3.創建UserDao接口和接口的實現類UserDaoImpl,實現類中測試:
UserDaoImpl.java:
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。
持久化對象的三種狀態: