本文共 2029 字,大约阅读时间需要 6 分钟。
package com.starry.dao;import java.util.List;import org.hibernate.Session;import com.starry.entity.Emp;import com.starry.query.QueryParameter;public class EmpDao { /** * 按条件查询 * 传进来一个自定义的对象 里面有(例如:定义最大值,最小值 ,名字等,可以放在sql中使用) * */ public Listquery(QueryParameter qp){ Session session = HibernateSessionFactory.getSession(); StringBuffer sb=new StringBuffer(); //这个from里面的Emp不是数据库里面emp表,是你定义的实体类里面的Emp,注意大小写 //写个where 语句 ,在下面if没有执行的情况下也不会报错 sb.append("from Emp where 1=1 "); //判断你传进来的qp对象中的ename有参数没有,有的话就放到下面的sql语句中 //传进来的qp.getEname 相当于放到语句中的 (:ename)的值 if(qp.getEname()!=null){ sb.append("and ename like :ename "); } if(qp.getDeptno()!=null){ sb.append("and deptno = :deptno "); } if(qp.getMinempno()!=null){ sb.append("and empno >= :minempno "); } if(qp.getMaxempno()!=null){ sb.append("and empno <= :maxempno "); } if(qp.getMinsal()!=null){ sb.append("and sal >= :minsal "); } if(qp.getMaxsal()!=null){ sb.append("and sal <= :maxsal "); } return session.createQuery(sb.toString()) .setProperties(qp)//将命名参数与一个对象的属性值绑定在一起! .list(); } /** * 根据某个条件查询单条数据 * 问了区分清楚 我写了一个B 一个C * */ public List
转载地址:http://spxvi.baihongyu.com/