📄 researcherdao.java
字号:
package dao;
import java.sql.SQLException;
import java.util.*;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import beans.*;
import util.*;
public class ResearcherDAO extends HibernateDaoSupport
implements IResearcherDAO {
String condition = new String();
int start, end;
/**
* 得到研究员的信息
*
* @param PageBean 页面信息
* @return List 研究员信息列表
*/
public List getResearcher(PageBean pageBean) {
int pageNum = pageBean.getPageNum(); //得到每页显示的记录数
int currPage = pageBean.getCurrPage(); //得到当前页数
condition = pageBean.getCondition(); //得到查询条件
start = currPage * pageNum; //当前页的开始记录
end = start + pageNum; //当前页的结束记录
return getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
String sql;
if(condition.equals("")) {
sql="select {r.*} from Researcher r";
}
else {
sql="select {r.*} from researcher r where (r.rid like '%"+condition+"%' or r.name like '%"+condition+"%'"
+"or r.title like '%"+condition+"%' or r.career like '%"+condition+"%')";
}
SQLQuery query = session.createSQLQuery(sql);
query.addEntity("r", Researcher.class);
List al = query.list();
PageBean.setRecordNum(al.size());
/*
List result = new ArrayList();
for(int i=start;i<end; i++ ) {
if(i<al.size()) {
Researcher re = (Researcher)al.get(i);
result.add(re);
}
}
*/
return al;
}
});
}
/**
* 保存一个研究员信息
*
* @param Researcher 研究员信息
*/
public boolean saveResearcher(Researcher researcher) {
getHibernateTemplate().save(researcher);
return true;
}
/**
* 修改研究员对象
*
* @param Researcher 研究员对象
*/
public boolean updateResearcher(Researcher researcher){
getHibernateTemplate().update(researcher);
return true;
}
/**
* 删除研究员对象
*
* @param Researcher 研究员对象
*/
public boolean delResearcher(String rid) {
Researcher researcher =
(Researcher) getHibernateTemplate().load(Researcher.class, Integer.valueOf(rid));
getHibernateTemplate().delete(researcher);
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -