📄 basicdao.java
字号:
package org.better.hr.dao;
import java.util.List;
import org.better.hr.comm.page.PageResult;
import org.better.hr.entity.ConfigPrimaryKey;
import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class BasicDao extends HibernateDaoSupport {
/**
* 根据ID号返回该对象
* @param id 主键id号
* @return Object 对象
*/
public Object load(Class clazz,java.io.Serializable id)
{
return this.getHibernateTemplate().get(clazz, id);
}
/**
* 保存方法
* @param item Object对象
*/
public void add(Object item) {
this.getHibernateTemplate().save(item);
}
/**
* 更新方法
* @param item Object对象
*/
public void update(Object item)
{
this.getHibernateTemplate().update(item);
}
/**
* 删除方法
* @param id 主键序列号
*/
public void delete(Class clazz,java.io.Serializable key)
{
this.getHibernateTemplate().delete(this.load(clazz,key));
}
/**
* 删除方法,重载
* @param item Object对象
*/
public void delete(Object item)
{
this.getHibernateTemplate().delete(item);
}
/**
* 查
* @param hql
* @param pageResult
*/
public void list(String hql, PageResult pageResult) {
if (null==hql)
{
return ;
}
Query query = this.getSession().createQuery(hql);
query.setFirstResult(pageResult.getFirstRec());
query.setMaxResults(pageResult.getPageSize());
List ret = query.list();
pageResult.setList(ret);
String queryString = "";
if (hql.toUpperCase().indexOf("SELECT") != -1) {
int i = query.getQueryString().toUpperCase()
.indexOf("FROM");
queryString = "Select count(*) "
+ hql.substring(i,hql.length());
} else {
queryString = "Select count(*) " + hql;
}
Query cquery = this.getSession().createQuery(queryString);
cquery.setCacheable(true);
int recTotal = ((Integer)cquery.iterate().next()).intValue();
pageResult.setRecTotal(recTotal);
}
/**
* 根据关键字进行查询
* @param key 关键字
* @return
*/
public String listByKey(String ClassName,String key)
{
//将所需表的有效关键字查出
String sql = " from ConfigPrimaryKey where primaryKeyStatus = 1 and primaryKeyTable = '" + ClassName + "'";
List list = this.getHibernateTemplate().find(sql);
String listSql = "from " + ClassName + " where 1 = 2 ";
for(int i=0; i<list.size();i++)
{
ConfigPrimaryKey keys = (ConfigPrimaryKey)list.get(i);
listSql += "or " + keys.getPrimaryKey() + " like '%" + key + "%'";
}
if(listSql.indexOf("or") != -1)
{
int i = listSql.indexOf("or");
listSql = "from " + ClassName + " where 1 = 2 or (" + listSql.substring(i+2, listSql.length()) + ")";
}
return listSql;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -