Hibernate对DAO处理实例

Hibernate 对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;


pTitle p
pDescription p
pCopyright Copyright (c) 2004p
pCompany p
@author 段洪杰
@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;

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值