在hibernate中使用HQL语句和QBC两种方法进行查询

来源:互联网 发布:windows live登陆 编辑:程序博客网 时间:2024/06/11 13:45

本人对QBC语法不是很熟悉,不过还是分享一下,有时候QBC的确效率很高,熟练掌握的话应该说是很方便的,先前博客已经讲了QBC的一些用法,今天我们复习一下用QBC进行日期范围的查询。代码如下:

Dao层中的方法:

// HQL语言public List findByHql(Integer page, Integer row, Date startDate,Date endDate) {try {Query query = session.createQuery("from Student stu where stu.date > :startDate and stu.date <= :endDate").setTimestamp("startDate", startDate).setTimestamp("endDate", endDate);query.setFirstResult((page - 1) * row);query.setMaxResults(row);return query.list();} catch (RuntimeException re) {throw re;}}// QBC语言public List findByLikeExampleByDate(Student instance, Integer page,Integer row, Date startDate, Date endDate) {try {List results = getSession().createCriteria("com.tjcyjd.Student").setFirstResult((page - 1) * row).setMaxResults(row).add(Expression.between("date", startDate,endDate)).addOrder(Order.asc("StudentId")).add(Example.create(instance).enableLike(MatchMode.ANYWHERE)).list();return results;} catch (RuntimeException re) {throw re;}}









原创粉丝点击