Hibernate+Spring 对DAO的处理实列(转)
package infoweb.dao;
import java.util.List;
import java.util.Iterator;
import infoweb.pojo.Info;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Query;
import net.sf.hibernate.Session;
import org.springframework.orm.hibernate.HibernateCallback;
import org.springframework.orm.hibernate.support.HibernateDaoSupport;
/**
Title:
*
Description:
*
Copyright: Copyright (c) 2004
*
Company:
- @version 1.0
*/
public class InfoDAOImpl extends HibernateDaoSupport implements IInfoDAO {
/**
构造函数
*/
public InfoDAOImpl() {
super();
}/**
- 增加记录
@param info Info
*/
public void setInfo(Info info) throws Exception {
getHibernateTemplate().save(info);
}/**
- 通过ID取得记录
- @param id String
@return Info
*/
public Info getInfoById(String id) throws Exception {
Info info = (Info) getHibernateTemplate().load(Info.class, id);
return info;
}/**
- 修改记录
@param Info info
*/
public void modifyInfo(Info info) throws Exception {
getHibernateTemplate().update(info);
}/**
- 删除记录
@param Info info
*/
public void removeInfo(Info info) throws Exception {
getHibernateTemplate().delete(info);
}////////////////////////////////////////////////////////
///// ///
/////以下部份不带审核功能 ///
///// ///
/////////////////////////////////////////////////////////**
- 取记录总数
@return int
/
public int getInfosCount() throws Exception {
int count = 0;
String queryString = "select count() from Info";
count = ((Integer) getHibernateTemplate().iterate(queryString).next()).intValue();
return count;
}/**
- 取所有记录集合
@return Iterator
*/
public Iterator getAllInfos() throws Exception {
Iterator iterator = null;
String queryString = " select info from Info as info order by info.id desc";
List list = getHibernateTemplate().find(queryString);
iterator = list.iterator();
return iterator;
}/**
- 取记录集合
- @return Iterator
@param int position, int length
*/
public Iterator getInfos(int position, int length) throws Exception {
Iterator iterator = null;
String queryString = " select info from Info as info order by info.id desc";
Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//设置游标的起始点
query.setFirstResult(position);
//设置游标的长度
query.setMaxResults(length);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();
return iterator;
}/**
- 取第一条记录
- @throws Exception
@return Station
*/
public Info getFirstInfo() throws Exception {
Iterator iterator = null;
Info info = null;
String queryString = "select info from Info as info order by info.id desc";
Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();
if (iterator.hasNext()) {
info = (Info) iterator.next();
}
return info;
}/**
- 取最后一条记录
- @throws Exception
@return Station
*/
public Info getLastInfo() throws Exception {
Iterator iterator = null;
Info info = null;
String queryString = "select info from Info as info order by info.id asc";
Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();
if (iterator.hasNext()) {
info = (Info) iterator.next();
}
return info;}
////////////////////////////////////////////////////////
///// ///
///// 以下部份表中要有特定字段才能正确运行 个人和企业 ///
///// ///
/////////////////////////////////////////////////////////**
- 取符合条件记录总数, [表中要有 isperson 字段]
- @return int
@param int isPerson
*/public int getInfosCountByIsperson(int isPerson) throws Exception {
int count = 0;
String queryString =
"select count(*) from Info as info where info.isperson =" + isPerson;
count = ((Integer) getHibernateTemplate().iterate(queryString).next()).intValue();
return count;
}/**
- 取所有符合条件记录集合, 模糊查询条件.[表中要有 isperson 字段]
- @return Iterator
@param int isPerson
*/public Iterator getAllInfosByIsperson(int isPerson) throws Exception {
Iterator iterator = null;
String queryString = " select info from Info as info where info.isperson =" +isPerson + " order by info.id desc";
List list = getHibernateTemplate().find(queryString);
//把查询到的结果放入迭代器
iterator = list.iterator();
return iterator;
}/**
- 取符合条件记录集合, 模糊查询条件.[表中要有 isperson 字段]
- @return Iterator
@param int isPerson,int position, int length
*/public Iterator getInfosByIsperson(int isPerson, int position, int length) throws
Exception {
Iterator iterator = null;
String queryString = " select info from Info as info where info.isperson =" +isPerson + " order by info.id desc";
//创建查询
Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//设置游标的起始点
query.setFirstResult(position);
//设置游标的长度
query.setMaxResults(length);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();
return iterator;
}////////////////////////////////////////////////////////
////////
///// 以下部份表中要有特定字段才能正确运行 查询部份 ///
///// ///
///////////////////////////////////////////////////////
/**- 取符合条件记录总数, 模糊查询条件.[表中要有 title 字段]
- @return int
@param String text
/
public int getInfosCount(String text) throws Exception {
int count = 0;
count = ((Integer) getHibernateTemplate().iterate(
"select count() from Info as info where info.title like ‘%" + text +
"%’").next()).intValue();
return count;
}/**
- 取所有符合条件记录集合, 模糊查询条件.[表中要有 title 字段]
- @return Iterator
@param String text
*/public Iterator getAllInfos(String text) throws Exception {
Iterator iterator = null;
String queryString =
" select info from Info as info where info.title like ‘%" + text +
"%’ order by info.id desc";
//创建查询
Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();
return iterator;
}/**
- 取符合条件记录集合, 模糊查询条件.[表中要有 title 字段]
- @return Iterator
@param String text,int position, int length
*/
public Iterator getInfos(String text, int position, int length) throws
Exception {
Iterator iterator = null;
String queryString =
" select info from Info as info where info.title like ‘%" + text +
"%’ order by info.id desc";//创建查询
Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//设置游标的起始点
query.setFirstResult(position);
//设置游标的长度
query.setMaxResults(length);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();
return iterator;
}////////////////////////////////////////////////////////
///// ///
///// 以下部份表中要有特定字段才能正确运行 注册相关 ///
///// ///
/////////////////////////////////////////////////////////**
- 取符合条件记录总数.[ 表中要有 registername 字段]
- @return int
@param String text
/
public int getInfosCountByRegisterName(String registerName) throws Exception {
int count = 0;
count = ((Integer) getHibernateTemplate().iterate(
"select count() from Info as info where info.registername = ‘" +
registerName + "’").next()).intValue();
return count;
}/**
- 通过注册名取得一条记录,如有多条,只取第一条.[表中要有 registername字段]
- @param registername String
@return Info
*/
public Info getInfoByRegisterName(String registerName) throws Exception {
Iterator iterator = null;
Info info = null;
String queryString =
" select info from Info as info where info.registername=’" +
registerName + "’ order by info.id desc";
//创建查询
Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();
if (iterator.hasNext()) {
info = (Info) iterator.next();
}
return info;
}/**
- 通过注册名取得所有记录集合.[表中要有 registername字段]
- @param registername String
@return Iterator
*/
public Iterator getAllInfosByRegisterName(String registerName) throws
Exception {
Iterator iterator = null;
String queryString =
" select info from Info as info where info.registername=’" +
registerName + "’ order by info.id desc";
//创建查询
Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();
return iterator;
}/**
- 通过注册名取得记录列表.[表中要有 registername字段]
- @param registername String
@return Iterator
*/
public Iterator getInfosByRegisterName(String registerName, int position,int length) throws Exception {
Iterator iterator = null;
String queryString =
" select info from Info as info where info.registername=’" +
registerName + "’ order by info.id desc";
//创建查询
Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//设置游标的起始点
query.setFirstResult(position);
//设置游标的长度
query.setMaxResults(length);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();
return iterator;
}////////////////////////////////////////////////////////
///// ///
///// 以下部份表中要有特定字段才能正确运行 树型版块 ///
///// ///
/////////////////////////////////////////////////////////**
- 取记录总数.[ 表中要有 board_id 字段]
- @return int
@param String boardId
*/
public int getInfosCountByBoard(String boardId) throws Exception {
int count = 0;count = ((Integer) getHibernateTemplate().iterate(
"select count(*) from Info as info where info.boardId = ‘" + boardId +
"’").next()).intValue();return count;
}/**
- 通过版块名取得所有记录集合.[表中要有 board_id字段]
- @param BoardId String
@return Iterator
*/
public Iterator getAllInfosByBoard(String boardId) throws Exception {
Iterator iterator = null;
String queryString = " select info from Info as info where info.boardId=’" +boardId + "' order by info.id desc";
//创建查询
Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器iterator = list.iterator();
return iterator;
}/**
- 通过版块名取得记录列表.[表中要有 board_id字段]
- @param BoardId String
@return Iterator
*/
public Iterator getInfosByBoard(String boardId, int position, int length) throws
Exception {
Iterator iterator = null;
String queryString = " select info from Info as info where info.boardId=’" +boardId + "' order by info.id desc";
//创建查询
Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//设置游标的起始点
query.setFirstResult(position);
//设置游标的长度
query.setMaxResults(length);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();return iterator;
}
/**
- 取符合条件记录总数.[ 表中要有 board_id 字段,title] 模糊查询title
- @return int
@param String boardId ,String text
*/
public int getInfosCountByBoard(String boardId, String text) throws Exception {
int count = 0;count = ((Integer) getHibernateTemplate().iterate(
"select count(*) from Info as info where info.boardId=’" + boardId +
"’ and info.title like ‘%" + text + "%’").next()).intValue();return count;
}
/**
- 通过版块名取得记录列表.[表中要有 board_id字段] 模糊查询title
- @param String boardID,int position, int length
@return Iterator
*/
public Iterator getInfosByBoard(String boardId, int position, int length,String text) throws Exception {
Iterator iterator = null;
String queryString = " select info from Info as info where info.boardId=’" +boardId + "' and info.title like '%" + text + "%' order by info.id desc";
//创建查询
Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//设置游标的起始点
query.setFirstResult(position);
//设置游标的长度
query.setMaxResults(length);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();
return iterator;}
////////////////////////////////////////////////////////
///// ///
/////以下部份带有审核功能 ///
///// ///
/////////////////////////////////////////////////////////**
- 取记录总数
- @return int
@param int isAuditing
*/
public int getInfosCount(int isAuditing) throws Exception {
int count = 0;count = ((Integer) getHibernateTemplate().iterate(
"select count(*) from Info as info where info.isauditing=" +
isAuditing).next()).intValue();
return count;
}/**
- 取所有记录集合
- @return Iterator
@param int position, int length,int isAuditing
*/
public Iterator getAllInfos(int isAuditing) throws Exception {
Iterator iterator = null;
String queryString =
" select info from Info as info where info.isauditing=" + isAuditing +
" order by info.id desc";
Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();
return iterator;
}/**
- 取记录集合
- @return Iterator
@param int position, int length,int isAuditing
*/
public Iterator getInfos(int position, int length, int isAuditing) throws
Exception {
Iterator iterator = null;
String queryString =
" select info from Info as info where info.isauditing=" + isAuditing +
" order by info.id desc";Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//设置游标的起始点
query.setFirstResult(position);
//设置游标的长度
query.setMaxResults(length);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();return iterator;
}////////////////////////////////////////////////////////////////
///// ///
///// 以下部份表中要有特定字段才能正确运行 有审核功能 个人和企业 ///
///// ///
////////////////////////////////////////////////////////////////**
- 取符合条件记录总数, [表中要有 isperson isAuditing 字段]
- @return int
@param int isPerson,int isAuditing
*/public int getInfosCountByIsperson(int isPerson, int isAuditing) throws
Exception {
int count = 0;count = ((Integer) getHibernateTemplate().iterate(
"select count(*) from Info as info where info.isperson =" + isPerson +
" and info.isauditing=" + isAuditing).next()).intValue();return count;
}/**
- 取所有符合条件记录集合, 模糊查询条件.[表中要有 isperson isAuditing 字段]
- @return Iterator
@param int isPerson,int isAuditing
*/public Iterator getAllInfosByIsperson(int isPerson, int isAuditing) throws
Exception {
Iterator iterator = null;
String queryString = " select info from Info as info where info.isperson =" +isPerson + " and info.isauditing=" + isAuditing + " order by info.id desc";
Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();return iterator;
}/**
- 取符合条件记录集合, 模糊查询条件.[表中要有 isperson isAuditing 字段]
- @return Iterator
@param int isPerson,int position, int length,int isAuditing
*/public Iterator getInfosByIsperson(int isPerson, int position, int length,
int isAuditing) throws Exception {
Iterator iterator = null;
String queryString = " select info from Info as info where info.isperson =" +i
sPerson + " and info.isauditing=" + isAuditing +
" order by info.id desc";
Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//设置游标的起始点
query.setFirstResult(position);
//设置游标的长度
query.setMaxResults(length);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();
return iterator;
}
////////////////////////////////////////////////////////
///// ///
///// 要有特定字段才能正确运行 有审核功能 查询部份 ///
///// ///
///////////////////////////////////////////////////////
/**
- 取符合条件记录总数, 模糊查询条件.[表中要有 title 字段]
- @return int
@param String text,int isAuditing
*/
public int getInfosCount(String text, int isAuditing) throws Exception {
int count = 0;count = ((Integer) getHibernateTemplate().iterate(
"select count(*) from Info as info where info.isauditing=" +
isAuditing + " and info.title like ‘%" + text + "%’").next()).intValue();
return count;
}/**
- 取所有符合条件记录集合, 模糊查询条件.[表中要有 title 字段]
- @return Iterator
@param String text,int isAuditing
*/public Iterator getAllInfos(String text, int isAuditing) throws Exception {
Iterator iterator = null;
String queryString =
" select info from Info as info where info.isauditing=" + isAuditing +
" and info.title like ‘%" + text + "%’ order by info.id desc";Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();return iterator;
}/**
- 取符合条件记录集合, 模糊查询条件.[表中要有 title 字段]
- @return Iterator
@param String text,int position, int length,int isAuditing
*/
public Iterator getInfos(String text, int position, int length,int isAuditing) throws Exception {
Iterator iterator = null;
String queryString =
" select info from Info as info where info.isauditing=" + isAuditing +
" and info.title like ‘%" + text + "%’ order by info.id desc";//创建查询
Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//设置游标的起始点
query.setFirstResult(position);
//设置游标的长度
query.setMaxResults(length);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();return iterator;
}////////////////////////////////////////////////////////
///// ///
///// 要有特定字段才能正确运行 有审核功能 注册相关 ///
///// ///
/////////////////////////////////////////////////////////**
- 取符合条件记录总数.[ 表中要有 registername isauditing字段]
- @return int
@param String text,int isAuditing
*/
public int getInfosCountByRegisterName(String registerName, int isAuditing) throws
Exception {
int count = 0;count = ((Integer) getHibernateTemplate().iterate(
"select count(*) from Info as info where info.isauditing=" +
isAuditing + " and info.registername = ‘" + registerName + "’").next()).intValue();
return count;
}/**
- 通过注册名取得一条记录,如有多条,只取第一条.[表中要有 registername isauditing字段]
- @param registername String,int isAuditing
@return Info
*/
public Info getInfoByRegisterName(String registerName, int isAuditing) throws
Exception {
Iterator iterator = null;
Info info = null;String queryString =
" select info from Info as info where info.isauditing=" + isAuditing +
" and info.registername=’" + registerName + "’ order by info.id desc";Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();
if (iterator.hasNext()) {
info = (Info) iterator.next();
}return info;
}/**
- 通过注册名取得所有记录集合.[表中要有 registername isauditing字段]
- @param registername String,int isAuditing
@return Iterator
*/
public Iterator getAllInfosByRegisterName(String registerName, int isAuditing) throws
Exception {
Iterator iterator = null;String queryString =
" select info from Info as info where info.isauditing=" + isAuditing +
" and info.registername=’" + registerName + "’ order by info.id desc";Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();return iterator;
}/**
- 通过注册名取得记录列表.[表中要有 registername isauditing字段]
- @param registername String,int isAuditing
@return Iterator
*/
public Iterator getInfosByRegisterName(String registerName, int position,int length, int isAuditing) throws
Exception {
Iterator iterator = null;
String queryString =
" select info from Info as info where info.isauditing=" + isAuditing +
" and info.registername=’" + registerName + "’ order by info.id desc";//创建查询
Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//设置游标的起始点
query.setFirstResult(position);
//设置游标的长度
query.setMaxResults(length);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();return iterator;
}////////////////////////////////////////////////////////
///// ///
///// 要有特定字段才能正确运行 有审核功能 树
型版块 ///
///// ///
////////////////////////////////////////////////////////
/**
- 取记录总数.[ 表中要有 board_id isauditing字段]
- @return int
@param String boardId,int isAuditing
*/
public int getInfosCountByBoard(String boardId, int isAuditing) throws
Exception {
int count = 0;count = ((Integer) getHibernateTemplate().iterate(
"select count(*) from Info as info where info.isauditing=" +
isAuditing + " and info.boardId = ‘" + boardId + "’").next()).intValue();return count;
}/**
- 通过版块名取得所有记录集合.[表中要有 board_id isauditing字段]
- @param BoardId String,int isAuditing
@return Iterator
*/
public Iterator getAllInfosByBoard(String boardId, int isAuditing) throws
Exception {
Iterator iterator = null;String queryString =
" select info from Info as info where info.isauditing=" + isAuditing +
" and info.boardId=’" + boardId + "’ order by info.id desc";Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();
return iterator;
}/**
- 通过版块名取得记录列表.[表中要有 board_id isauditing字段]
- @param BoardId String,int isAuditing
@return Iterator
*/
public Iterator getInfosByBoard(String boardId, int position, int length,int isAuditing) throws Exception {
Iterator iterator = null;
String queryString =
" select info from Info as info where info.isauditing=" + isAuditing +
" and info.boardId=’" + boardId + "’ order by info.id desc";//创建查询
Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//设置游标的起始点
query.setFirstResult(position);
//设置游标的长度
query.setMaxResults(length);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();return iterator;
}
/**
- 取符合条件记录总数.[ 表中要有 board_id isauditing字段,title] 模糊查询title
- @return int
@param String boardId ,String text,int isAuditing
*/
public int getInfosCountByBoard(String boardId, String text, int isAuditing) throws
Exception {
int count = 0;count = ((Integer) getHibernateTemplate().iterate(
"select count(*) from Info as info where info.isauditing=" +
isAuditing + " and info.boardId=’" + boardId +
"’ and info.title like ‘%" +
text + "%’").next()).intValue();return count;
}
/**
- 通过版块名取得记录列表.[表中要有 board_id字段 isauditing] 模糊查询title
- @param String boardId,int position, int length,int isAuditing
@return Iterator
*/
public Iterator getInfosByBoard(String boardId, int position, int length,String text, int isAuditing) throws Exception {
Iterator iterator = null;
String queryString =
" select info from Info as info where info.isauditing=" + isAuditing +
" and info.boardId=’" + boardId + "’ and info.title like ‘%" + text +
"%’ order by info.id desc";//创建查询
Query query = getHibernateTemplate().createQuery(getSession(), queryString);
//设置游标的起始点
query.setFirstResult(position);
//设置游标的长度
query.setMaxResults(length);
//记录生成
List list = query.list();
//把查询到的结果放入迭代器
iterator = list.iterator();return iterator;
}
}