public static List borrowBook(String bookname) { Query query = HibernateSessionFactory.getSession().createQuery(
"from Book where bookname like :bkname"); query.setString("bkname", "%"+bookname+"%"); List list = query.list(); System.out.println(list.size());
return list;
}
和public static List borrowBook(String bookname) { Query query = HibernateSessionFactory.getSession().createQuery(
"from Book where bookname like ?"); query.setString(0, "%"+ bookname + "%"); List list = query.list(); System.out.println(list.size());
return list;
}上面两种形式我都试过了,但是输出list.size()的值都是0,是不是模糊查询的时候,查询语句有问题啊,再次请教帅哥美女帮忙解决一下。
"from Book where bookname like :bkname"); query.setString("bkname", "%"+bookname+"%"); List list = query.list(); System.out.println(list.size());
return list;
}
和public static List borrowBook(String bookname) { Query query = HibernateSessionFactory.getSession().createQuery(
"from Book where bookname like ?"); query.setString(0, "%"+ bookname + "%"); List list = query.list(); System.out.println(list.size());
return list;
}上面两种形式我都试过了,但是输出list.size()的值都是0,是不是模糊查询的时候,查询语句有问题啊,再次请教帅哥美女帮忙解决一下。
"from Book where bookname like ?"); query.setString(0, "%"+ bookname + "%");LZ这一应该是 1 好像不是 0 吧
我不知道那个环节出错了。
建议你用Criteria,它在模糊查询这方面比较方便
日期比较也很方便的
eg:
Criteria criteria = this.getSession(true).createCriteria( 实体类.class);
if (参数!= null)
criteria.add(Expression.like("字段", 参数));
return criteria.list();
这个写成单引号就可以了:
query.setString("bkname", ('%'+bookname+'%'));