HibernateUtil.java
package com.spider.util;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
public final class HibernateUtil {
private HibernateUtil(){}
private static SessionFactory sessionFactory;
static{
Configuration cfg = new Configuration();
cfg.configure();
ServiceRegistry sr = new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry(); sessionFactory = cfg.buildSessionFactory(sr);
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
public static Session getSession(){
return sessionFactory.openSession();
}
}
StudentsTest3 测试类
package hibernate001;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.criterion.Projections;
import org.junit.Test;
import com.spider.util.HibernateUtil;
import com.trash.Sqtudent2;
public class StudentsTest3 {
private Session session = HibernateUtil.getSession();
@Test
public void testCriteriaRows() {
Criteria criteria2 = session.createCriteria(Sqtudent2.class);
criteria2.setProjection(Projections.rowCount());
long rowcount = (long) criteria2.uniqueResult();
System.out.println("总页数是: "+rowcount);
}
@Test
public void testSQL() {
String sqlstr= "SELECT * FROM STUDENT2 where sid = ? ";
SQLQuery query = session.createSQLQuery(sqlstr);
query.setParameter(0, 14);
query.addEntity(Sqtudent2.class);
List list = query.list();
System.out.println("list: "+list);
}
}
teacherTest.java
package com.spider.test;
import java.util.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.spider.domain.Student;
import com.spider.domain.Teacher;
import com.spider.util.HibernateUtil;
public class teacherTest {
private Session session =HibernateUtil.getSession();
private Transaction transaction;
@After
public void destory() {
transaction.commit();
session.close();
}
@Test
public void testSaveStudent() {
transaction = session.beginTransaction();
Teacher t1 = new Teacher("王五","女",26,new Date());
session.save(t1);
}
}
http://howtodoinjava.com/hibernate/hibernate-one-to-one-mapping-using-annotations/