Template写mysql时注意,空的和null型的不要插入数据,否则查出来可能会不否和条件

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();

}

});

像上面这样,当你输入为空的时候,你笨来想查找的是所有的数据,这里实际查找出来的是满足当前字段为空的数据,所以

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();

}
});

这里要记得查询的条件,这是我犯的错误

你可能感兴趣的:(mysql)