final String sql = "select phonenum from order_records where phonenum=?";
return template.execute(new HibernateCallback() {
@Override
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = (Query) session.createQuery(sql);
if(phone != null ){
query.setParameter(0, phone);
}
return query.list();
}
return template.execute(new HibernateCallback() {
@Override
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = (Query) session.createQuery(sql);
if(phone != null ){
query.setParameter(0, phone);
}
return query.list();
}
});
像上面这样,当你输入为空的时候,你笨来想查找的是所有的数据,这里实际查找出来的是满足当前字段为空的数据,所以
final String sql = "select phonenum from order_records where phonenum=?";
return template.execute(new HibernateCallback() {
@Override
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = (Query) session.createQuery(sql);
if(phone != null && !("").equals(phone)){
query.setParameter(0, phone);
}
return query.list();
}
});
这里要记得查询的条件,这是我犯的错误