Hibernate工具类:
package utils;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtils {
private static Configuration config;
private static SessionFactory sessionFactory;
static{
config = new Configuration().configure();
sessionFactory = config.buildSessionFactory();
}
public static Session openSession() {
return sessionFactory.openSession();
}
}
Hibernate的Query,SQLQuery,Criteria增删改查操作
package HibernateTest;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;
import org.junit.Test;
import utils.HibernateUtils;
public class Test2 {
@Test
public void test1() {
Session session = HibernateUtils.openSession();
Query query = session.createQuery("from Customer");
List<Customer> list = query.list();
for (Customer customer : list) {
System.out.println(customer.getName());
}
session.close();
}
@Test
public void test3() {
Session session = HibernateUtils.openSession();
session.beginTransaction();
for(int i = 0;i < 100;++i) {
Customer c = new Customer();
c.setId(i);
c.setAddress("北京"+i);
c.setName("张三");
session.save(c);
}
session.getTransaction().commit();
session.close();
}
@Test
public void test4() {
Session session = HibernateUtils.openSession();
session.beginTransaction();
Query query = session.createQuery("from Customer");
query.setFirstResult(10);
query.setMaxResults(10);
List<Customer> list = query.list();
for (Customer customer : list) {
System.out.println(customer.getAddress());
}
session.getTransaction().commit();
session.close();
}
@Test
public void test5() {
Session session = HibernateUtils.openSession();
session.beginTransaction();
Query query = session.createQuery("select new Customer(name,address) from Customer");
List<Customer> list = query.list();
System.out.println(list);
session.getTransaction().commit();
session.close();
}
@Test
public void test6() {
Session session = HibernateUtils.openSession();
session.beginTransaction();
Query query = session.createQuery("from Customer where address = :myaddress");
query.setParameter("myaddress","北京82");
List<Customer> list = query.list();
for (Customer customer : list) {
System.out.println(customer.getId()+"~"+customer.getAddress());
}
System.out.println(list);
session.getTransaction().commit();
session.close();
}
@Test
public void test7() {
Session session = HibernateUtils.openSession();
session.beginTransaction();
SQLQuery sqlQuery = session.createSQLQuery("select * from t_customer");
List<Object> list = sqlQuery.list();
System.out.println(list);
for (Object object : list) {
System.out.println(object.getClass());
}
sqlQuery.addEntity(Customer.class);
List<Customer> list1 = sqlQuery.list();
for (Customer customer : list1) {
System.out.println(customer.getAddress());
}
session.getTransaction().commit();
session.close();
}
@Test
public void test8() {
Session session = HibernateUtils.openSession();
session.beginTransaction();
SQLQuery sqlQuery = session.createSQLQuery("select * from t_customer where address = ?");
sqlQuery.setParameter(0, "北京1000");
sqlQuery.addEntity(Customer.class);
Customer c = (Customer)sqlQuery.uniqueResult();
System.out.println(c.getId()+"~"+c.getAddress());
session.getTransaction().commit();
session.close();
}
@Test
public void test9() {
Session session = HibernateUtils.openSession();
session.beginTransaction();
Criteria criteria = session.createCriteria(Customer.class);
criteria.add(Restrictions.eq("address", "北京90"));
List<Customer> list1 = criteria.list();
for (Customer customer : list1) {
System.out.println(customer.getAddress());
}
session.getTransaction().commit();
session.close();
}
@Test
public void test10() {
Session session = HibernateUtils.openSession();
session.beginTransaction();
int i;
for(i = 105;i<202;++i ) {
SQLQuery sqlQuery = session.createSQLQuery("update t_customer set address = ? where id = ?");
sqlQuery.setParameter(0, "福州"+i);
sqlQuery.setParameter(1, i);
sqlQuery.executeUpdate();
}
session.getTransaction().commit();
session.close();
}
}