常用Hql例集
package com.b510.example;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.hibernate.Criteria;
import org.hibernate.FetchMode;
import org.hibernate.Query;
import org.hibernate.Session;
/**
*
* @author XHW
*
* @date 2011-6-18
*
*/
public class HibernateTest {
/**
* @param args
*/
public static void main(String[] args) {
HibernateTest test = new HibernateTest();
test.where();
test.function();
test.update();
test.jiaoChaCheck();
test.innerJoin();
test.QBC();
test.leftOuterJoin();
test.rightOuterJoin();
}
public void where() {
// 使用where查询
Session session = HibernateSessionFactoryUtil.getSessionFactory()
.openSession();
session.beginTransaction();
Query query = session
.createQuery("from User where id not between 200 and 2000");
List<User> list = query.list();
for (User user : list) {
System.out.println(user.getId() + user.getUsername());
}
// 投影查询 中使用where子句
query = session.createQuery("select username from User where id=2");
List<String> listname = query.list();
for (String name : listname) {
System.out.println(name);
}
// in查询
query = session
.createQuery("from User where username in ('Hongten','Hanyuan','dfgd')");
List<User> listin = query.list();
for (User user : listin) {
System.out.println(user.getId() + user.getUsername());
}
// like查询
query = session.createQuery("from User where username not like 'Hon%'");
List<User> listlike = query.list();
for (User user : listlike) {
System.out.println(user.getId() + user.getUsername());
}
// null查询
query = session.createQuery("from User where password is null");
List<User> listnull = query.list();
for (User user : listnull) {
System.out.println(user.getId() + user.getUsername());
}
// and查询
query = session
.createQuery("from User where password is not null and id<5");
List<User> listand = query.list();
for (User user : listand) {
System.out.println(user.getId() + user.getUsername()
+ user.getPassword());
}
// order by
query = session.createQuery("from User order by username,id desc");
List<User> listorderby = query.list();
for (User user : listorderby) {
System.out.println(user.getId() + user.getUsername());
}
// 使用"?"号 作为参数占位符,一条HQL语句中可以使用多个?
// query.setInteger(0,2)
// query.setString(0,"Hongten")
query = session
.createQuery("select username from User where username=?");
query.setString(0, "Hongten");
List<String> listwenhao = query.list();
for (String name : listwenhao) {
System.out.println(name);
}
session.getTransaction().commit();
}
public void function() {// 把大写字母转化为小写字母
// 作用可以用在:比如在一个用户注册的程序中,大小写不容易区分,但是全部转化为小写后就可以很容易进行比较
Session session = HibernateSessionFactoryUtil.getSessionFactory()
.openSession();
session.beginTransaction();
// 输出原始的数据
Query query = session.createQuery("select username from User");
&