前往顾页
以后地位: 主页 > 收集编程 > Jsp实例教程 >

HibernateTemplate 利用根本教程

时候:2012-10-23 00:11来源:知行网www.zhixing123.cn 编辑:麦田守望者

HibernateTemplate供应非常多的常常利用体例来完成根基的操纵,比如凡是的增加、删除、点窜、查询等操纵,Spring 2.0更增加对定名SQL查询的支撑,也增加对分页的支撑。年夜部分环境下,利用Hibernate的通例用法,便可完成年夜多数DAO工具的CRUD操纵。下面是HibernateTemplate的常常利用体例简介:

q void delete(Object entity):删除指定持久化实例

q deleteAll(Collection entities):删除调集内全数持久化类实例

q find(String queryString):按照HQL查询字符串来前往实例调集

q findByNamedQuery(String queryName):按照定名查询前往实例调集

q get(Class entityClass, Serializable id):按照主键加载特定持久化类的实例

q save(Object entity):保存新的实例

q saveOrUpdate(Object entity):按照实例状况,挑选保存或更新

q update(Object entity):更新实例的状况,请求entity是持久状况

q setMaxResults(int maxResults):设置分页的年夜小

下面是一个完整DAO类的源代码:

public class PersonDAOHibernate implements PersonDAO

{

//采取log4j来完成调试时的日记服从

private static Log log = LogFactory.getLog(NewsDAOHibernate.class);

//以公有的成员变量来保存SessionFactory

private SessionFactory sessionFactory;

//以公有变量的体例保存HibernateTemplate

private HibernateTemplate hibernateTemplate = null;

//设值注入SessionFactory必须的setter体例

public void setSessionFactory(SessionFactory sessionFactory)

{

this.sessionFactory = sessionFactory;

}

//初始化本DAO所需的HibernateTemplate

public HIbernateTemplate getHibernateTemplate()

{

//起首,查抄本来的hibernateTemplate实例是不是还存在

if ( hibernateTemplate == null)

{

//如果不存在,新建一个HibernateTemplate实例

hibernateTemplate = new HibernateTemplate(sessionFactory);

}

return hibernateTemplate;

}

//前往全数的人的实例

public List getPersons()

{

//经由过程HibernateTemplatefind体例前往Person的全数实例

return getHibernateTemplate().find("from Person");

}

/**

* 按照主键前往特定实例

* @ return 特定主键对应的Person实例

* @ param 主键值

public News getNews(int personid)

{

return (Person)getHibernateTemplate().get(Person.class, new Integer(personid));

}

/**

* @ person 需求保存的Person实例

*/

public void savePerson(Person person)

{

getHibernateTemplate().saveOrUpdate(person);

}

/**

* @ param personid 需求删除Person实例的主键

* /

public void removePerson(int personid)

{

//先加载特定实例

Object p = getHibernateTemplate().load(Person.class, new Integer(personid));

//删除特定实例

getHibernateTemplate().delete(p);

}

}

------分开线----------------------------
标签(Tag):Java JAVA实例教程 JAVA根本教程 Java源代码 Java技能
------分开线----------------------------
保举内容
猜你感兴趣