详细内容请参考 http://wiki.bsdn.org/pages/viewpage.action?pageId=29392984
需要在自己的dao中继承com.bstek.bdf2.core.orm.hibernate.HibernateDao,这个类在ORM jar包当中。
1.数据的持久化范例(保存、删除和修改)---------------------------------------------------------
@DataResolver
publicvoid saveDemoUsers(Collection<DemoUser> users){
Session session = this.getSessionFactory().openSession();
try{
for(DemoUser user : users) {
EntityState state=EntityUtils.getState(user);
if(state.equals(EntityState.NEW)) {
session.save(user);
}elseif (state.equals(EntityState.MODIFIED)) {
session.update(user);
}elseif (state.equals(EntityState.DELETED)) {
session.delete(user);
}
}
}finally{
session.flush();
session.close();
}
}
2.查询--------------------------------------------------------------------------------------
2.1无条件不带分页的查询
@DataProvider
publicCollection<DefaultPosition> query1(){
returnthis.query("from "+DemoUser.class.getName());
}
@DataProvider
publicCollection<DefaultPosition> query2(String username){
Map<String,Object> map =newHashMap<String,Object>();
String sql="from "+DomeUser.class.getName()+" du ";
if(username!=null&&!"".equals(username)){
map.put("username", username);
sql+=" where du.username=:username";
}
returnthis.query(sql, map);
}
@DataProvider
publicCollection<DomeUser> query3(String username){
Map<String,Object> map =newHashMap<String,Object>();
String sql="from "+DomeUser.class.getName()+" du ";
if(username!=null&&!"".equals(username)){
map.put("username","%"+username+"%");
sql+="where du.username like :username";
}
returnthis.query(sql, map);
}
@DataProvider
publicCollection<DemoUser> query4(String username){
DetachedCriteria detachedCriteria=DetachedCriteria.forClass(DemoUser.class);
if(username!=null&&!"".equals(username)){
detachedCriteria.add(Restrictions.eq("username", username));
}
return(Collection<DemoUser>)this.query(detachedCriteria);
}
@DataProvider
publicvoid query5(Page<DemoUser> page) throwsException{
this.pagingQuery(page,"from "+DemoUser.class.getName(),"select count(*) from "+DemoUser.class.getName());
}
2.3有条件带分页的查询-------------------------------------------------------------------
@DataProvider
publicvoid query6(Page<DemoUser> page,String username) throwsException{
Map<String,Object> map =newHashMap<String,Object>();
String sql="from "+DomeUser.class.getName()+" du ";
String sqlCount="select count(*) from "+DomeUser.class.getName()+" du ";
if(username!=null&&!"".equals(username)){
map.put("username", username);
sql+=" where du.username=:username";
sqlCount+=" where du.username=:username";
}
this.pagingQuery(page, sql,sqlCount,map);
}
@DataProvider
publicvoid query7(Page<DemoUser> page,String username) throwsException{
DetachedCriteria detachedCriteria=DetachedCriteria.forClass(DemoUser.class);
if(username!=null&&!"".equals(username)){
detachedCriteria.add(Restrictions.eq("username", username));
}
this.pagingQuery(page, detachedCriteria);
}