在hibernate的jar包下游junit的包,使用junit的步骤:
1,建一个与src平行的包test
2,在该包下建立测试类,该类继承TestCase并且在该类中写测试方法,测试方法以test开头。测试方法不能含有参数和返回值。
实例代码:
package com.jzq.hibernate;
import junit.framework.TestCase;
public class SessionTest extends TestCase {
public void testHello()
{
System.out.println("-----------sessionTest.testHello1()------");
}
public void testHello2()
{
System.out.println("-----------sessionTest.testHello2()------");
}
}
然后再该类中运行junit即可,或者在视图中使用junit运行某些方法,或某个方法。
package com.jzq.hibernate;
import java.util.Date;
import org.hibernate.Session;
import org.hibernate.Transaction;
import junit.framework.TestCase;
public class SessionTest extends TestCase {
public void testHello()
{
System.out.println("-----------sessionTest.testHello1()------");
}
public void testHello2()
{
System.out.println("-----------sessionTest.testHello2()------");
}
public void testSave1()
{
Session session=null;
User user=null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();
//对象的瞬时状态
user=new User();
user.setName("李四");
user.setPassword("123");
user.setCreateTime(new Date());
user.setExpireTime(new Date());
//持久状态
session.save(user);
//对象修改后数据库也修改,hibernate自动与数据库同步
user.setName("c10");
session.getTransaction().commit();
} catch (Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}
finally
{
HibernateUtils.closeSession(session);
}
//此时user对象为离线状态
//离线的user对象更新变为持久化对象
user.setName("踩踩");
Transaction tx=null;
try {
session = HibernateUtils.getSession();
tx=session.beginTransaction();
session.save(user);
tx.commit();
} catch (Exception e) {
e.printStackTrace();
tx.rollback();
}
finally
{
HibernateUtils.closeSession(session);
}
}
public void testReadByGet()
{
Session session=null;
try {
session = HibernateUtils.getSession();
//加载一个user对象,对象成为持久化对象
User user = (User) session.get(User.class,
"402881ec2e2e942d012e2e942e920001");
session.getTransaction().commit();
} catch (Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}
finally
{
HibernateUtils.closeSession(session);
}
}
}