1.基本的查詢
@Test
public void test1(){
System.out.println("test....");
TUserEntity user = null;
SessionFactory sessionFactory = SessionFactoryUtil.getSession();
Session session = null;
session = sessionFactory.openSession();
org.hibernate.Query query =session.createQuery("from TUserEntity");
List users = query.list();
for (int i=0;i<users.size();i++){
user = (TUserEntity)users.get(i);
System.out.println(i+"--"+user.getUsername());
}
}
用List接收返回的集合,再把Object轉換爲實體類類型
這時發的sql語句
結果
2.查詢一條數據
@Test
public void test2(){
System.out.println("test....");
String username = null;
SessionFactory sessionFactory = SessionFactoryUtil.getSession();
Session session = null;
session = sessionFactory.openSession();
org.hibernate.Query query =session.createQuery("select user.username from TUserEntity user ");
List usernames = query.list();
for (int i=0;i<usernames.size();i++){
username = (String)usernames.get(i);
System.out.println(1+i+"--"+username);
}
}
轉換爲String類型
sql語句:
結果:
3.查詢倆個以上的數據結果會以數組返回
@Test
public void test3(){
System.out.println("test....");
SessionFactory sessionFactory = SessionFactoryUtil.getSession();
Session session = null;
session = sessionFactory.openSession();
org.hibernate.Query query =session.createQuery("select user.password,user.username from TUserEntity as user");
List users = query.list();
for (int i=0;i<users.size();i++){
Object obj[] = (Object[]) users.get(i);
System.out.println(obj[0]+"--"+obj[1]);
}
}
4.利用distinct使返回的值是不重複的
@Test
public void test4(){
System.out.println("test....");
String username = null;
SessionFactory sessionFactory = SessionFactoryUtil.getSession();
Session session = null;
session = sessionFactory.openSession();
org.hibernate.Query query =session.createQuery("select distinct user.username from TUserEntity as user ");
List users = query.list();
for (int i=0;i<users.size();i++){
username = (String)users.get(i);
System.out.println(i+1+"--"+username);
}
}
5.利用構造函數返回實體類
@Test
public void test5(){
System.out.println("test....");
TUserEntity user = null;
SessionFactory sessionFactory = SessionFactoryUtil.getSession();
Session session = null;
session = sessionFactory.openSession();
org.hibernate.Query query =session.createQuery("select new TUserEntity(user.uid,user.username,user.password,user.age) from TUserEntity as user ");
List users = query.list();
for (int i=0;i<users.size();i++){
user = (TUserEntity) users.get(i);
System.out.println(i+1+"--"+user.getUid()+user.getUsername()+user.getPassword()+user.getAge());
}
}
給實體類添加構造方法:
public TUserEntity(int uid, String username, String password, Integer age) {
this.uid = uid;
this.username = username;
this.password = password;
this.age = age;
}
public TUserEntity() {
}
6.獲得記錄集的大小
@Test
public void test6(){
System.out.println("test....");
SessionFactory sessionFactory = SessionFactoryUtil.getSession();
Session session = null;
session = sessionFactory.openSession();
org.hibernate.Query query =session.createQuery("select count(*) from TUserEntity ");
Object count = (Object)query.uniqueResult();
System.out.println("共有"+count+"條記錄");
}