hibernate的get方法只能按id查询,下面这个方法可以按照名字查询:
package com.messi.hibernate.test;
import java.util.Date;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import com.messi.hibernate.domain.Usersss;
import com.messi.hibernate.utils.HibernateUtils;
public class QueryTes {
public static void main(String[] args) {
Usersss usersss = new Usersss();
usersss.setBirthday(new Date());
usersss.setName("fangzi1");
HibernateUtils.add(usersss);
Usersss usersss1 = new Usersss();
usersss1.setBirthday(new Date());
usersss1.setName("fangzi2");
HibernateUtils.add(usersss1);//这里把保存到的方法写到了工具类里面,所以使用的时候要调用HibernateUtils.add()方法
Usersss usersss2 = new Usersss();
usersss2.setBirthday(new Date());
usersss2.setName("fangzi3");
HibernateUtils.add(usersss2);
query("fangzi1");// 在main方法中执行查询,query 方法必须是static的
}
public static Usersss query(String name) {
Session s = null;
try {
s = HibernateUtils.getSession();
String hql = "from Usersss as usss where usss.name=?";// 或者这样写String hql = "from Usersss as usss where usss.name=:na";
Query query = s.createQuery(hql);// 创建查询
//query.setFirstResult(0);分页查询
//query.setMaxResult(10);
query.setString(0, name);// 传递参数Query的setStrin()方法
List<Usersss> list = query.list();// 输出
for (Usersss ul : list) {
System.out
.println(ul.getId() + ul.getName() + ul.getBirthday());
}
} finally {
if (s != null) {
s.close();
}
}
return null;
}
}