在Liferay中使用Hibernate
Liferay是一個開源的portal框架,它目前的基礎(chǔ)架構(gòu)是基于Struts,Spring和Hibernate的。我們在Liferay上開發(fā)應(yīng)用的時候,在需要使用數(shù)據(jù)庫的時候可以方便的使用Spring中提供的對Hibernate的支持。
具體步驟如下
1, 在你的ext開發(fā)環(huán)境的/ext/ext-web/docroot/WEB-INF/目錄下創(chuàng)建classes目錄,降hibernate.cfg.xml文件和你的hbm文件放在這里。
這是hibernate.cfg.xml文件的例子.
Java代碼
- < ?xml version="1.0" encoding="UTF-8"?>
- < !DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
- < hibernate-configuration>
- < session-factory>
- < property name="Hibernate.connection.driver_class">com.mysql.jdbc.Driver< /property>
- < property name="Hibernate.connection.password">luser< /property>
- < property name="Hibernate.connection.url">jdbc:mysql://localhost:3306/lportal< /property>
- < property name="Hibernate.connection.username">luser< /property>
- < property name="Hibernate.dialect">org.hibernate.dialect.MySQLDialect< /property>
- < property name="Hibernate.show_sql">true< /property>
- < mapping resource="example.hbm.xml"/>
- < /session-factory>
- < /hibernate-configuration>
- < ?xml version="1.0" encoding="UTF-8"?>
- < !DOCTYPE Hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
- < hibernate-configuration>
- < session-factory>
- < property name="Hibernate.connection.driver_class">com.mysql.jdbc.Driver< /property>
- < property name="Hibernate.connection.password">luser< /property>
- < property name="Hibernate.connection.url">jdbc:mysql://localhost:3306/lportal< /property>
- < property name="Hibernate.connection.username">luser< /property>
- < property name="Hibernate.dialect">org.hibernate.dialect.MySQLDialect< /property>
- < property name="Hibernate.show_sql">true< /property>
- < mapping resource="example.hbm.xml"/>
- < /session-factory>
- < /hibernate-configuration>
example.hbm.xml是你定義的hbm文件,這里就不贅述了。
2,在你的DAOImpl類中使用Spring提供的HibernateTemplate,
Java代碼
- this.hibernateTemplate = new HibernateTemplate(sessionFactory);
- this.hibernateTemplate = new HibernateTemplate(sessionFactory);
sessionFactory是org.hibernate.SessionFactory,用于創(chuàng)建Session。
然后就可以進(jìn)行數(shù)據(jù)庫操作了。
Java代碼
- //查詢
- public YourPOJO getByPrimaryKey(final long yourId) {
- return (YourPOJO ) this.hibernateTemplate.execute(new HibernateCallback() {
- public Object doInHibernate(Session session) throws HibernateException, SQLException {
- Criteria criteria = session.createCriteria(YourPOJO .class)
- .add(Restrictions.eq("yourId", yourId));
- return criteria.uniqueResult();
- }
- });
- }
- //創(chuàng)建
- public void create(final YourPOJO pojo) {
- this.hibernateTemplate.save(pojo);
- }
- //修改
- public void update(final YourPOJO pojo) {
- this.hibernateTemplate.saveOrUpdate(pojo);
- }
- //刪除
- public void delete(final YourPOJO pojo) {
- this.hibernateTemplate.delete(pojo);
- }
【編輯推薦】