MyEclispe自动生成的hibernateDAO



@Repository("liuyanDAO")
@Transactional
public class LiuyanDAOImpl extends HibernateDaoSupport implements LiuyanDAO {


public static final String EMAIL = "email";
public static final String LIUYAN = "liuyan";


@Resource
public void setMySessionFactory(SessionFactory sf) {
super.setSessionFactory(sf);
}
//保存数据
public void save(Liuyan transientInstance) {
try {
this.getHibernateTemplate().save(transientInstance);
} catch (RuntimeException re) {
throw re;
}
}
//删除数据,只需要设置id即可
public void delete(Liuyan persistentInstance) {
// log.debug("deleting Liuyan instance");
try {
this.getHibernateTemplate().delete(persistentInstance);
// log.debug("delete successful");
} catch (RuntimeException re) {
// log.error("delete failed", re);
throw re;
}
}
//通过id查询一条数据
public Liuyan findById(java.lang.Integer id) {
// log.debug("getting Liuyan instance with id: " + id);
try {
Liuyan instance = (Liuyan) this.getHibernateTemplate().get(
Liuyan.class, id);
return instance;
} catch (RuntimeException re) {
// log.error("get /failed", re);
throw re;
}
}
//通过设置对象的某个或某几个属性值,查询对应的所有记录
public List findByExample(final Liuyan instance) {
try {
return (List) this.getHibernateTemplate().execute(new HibernateCallback() {


@Override
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
return session.createCriteria("com.cxtt.entity.Liuyan").add(Example.create(instance)).list();


}
});

} catch (RuntimeException re) {
throw re;
}
}
//通过指定字段和对应的字段值,查询一条或多条数据,如果是一条list.get(0)即可
public List findByProperty(final String propertyName, final Object value) {
try {
return (List) this.getHibernateTemplate().execute(new HibernateCallback() {


@Override
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
String queryString = "from Liuyan as model where model."+propertyName+"=?";
System.out.println("queryString:"+queryString);
Query queryObject = session.createQuery(queryString);
queryObject.setParameter(0, value);
return queryObject.list();
}
});


} catch (RuntimeException re) {
throw re;
}
}
//通过字段查询
public List findByEmail(Object email) {
return findByProperty(EMAIL, email);
}
//通过字段查询
public List findByLiuyan(Object liuyan) {
return findByProperty(LIUYAN, liuyan);
}
//查询所有记录
public List findAll() {
try {
String queryString = "from Liuyan";
return this.getHibernateTemplate().find(queryString);
} catch (RuntimeException re) {
throw re;
}
}
//merge会判断执行插入或者更新
public Liuyan merge(Liuyan detachedInstance) {
try {
Liuyan result = (Liuyan) this.getHibernateTemplate().merge(
detachedInstance);
return result;
} catch (RuntimeException re) {
throw re;
}
}
//更新或者插入
public void attachDirty(Liuyan instance) {
try {
this.getHibernateTemplate().saveOrUpdate(instance);
} catch (RuntimeException re) {
throw re;
}
}
//lock是锁的意思
public void attachClean(Liuyan instance) {
try {
this.getHibernateTemplate().lock(instance, LockMode.NONE);
} catch (RuntimeException re) {
throw re;
}
}



// 分页
public List findAllByPage(final int page, final int pageSize) {
// log.debug("finding all Liuyan instances");
try {
// String queryString = "from Liuyan";
// Query queryObject = getSession().createQuery(queryString);
// List<Fee> list = this.getHibernateTemplate().find(queryString);


// return this.getHibernateTemplate().find(queryString);


return (List) this.getHibernateTemplate().execute(
new HibernateCallback() {


@Override
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
// TODO Auto-generated method stub
String hql = "from Liuyan  order by id desc";
Query query = session.createQuery(hql);
query.setFirstResult((page - 1) * pageSize);// 抓取起点索引,从0开始
query.setMaxResults(pageSize);// 最大抓取数量
List list = query.list();
return list;
}
});


} catch (RuntimeException re) {
// log.error("find all failed", re);
throw re;
}
}


@Override
public int findTotalpages(int pageSize) {
// TODO Auto-generated method stub
List list = (List) this.getHibernateTemplate().execute(
new HibernateCallback() {


@Override
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
// TODO Auto-generated method stub
String hql = "select count(id) from Liuyan";
Query query = session.createQuery(hql);
List list = query.list();
return list;
}
});
Object t = (Object) list.get(0);
int i = Integer.parseInt(t.toString());
int total = 0;
if (i % pageSize == 0) {
total = i / pageSize;
} else {
total = i / pageSize + 1;
}
return total;


}










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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值