一,Junit 測試
1.創建一個測試類
選擇自己要測試的類->右擊 new ->other ->java ->JUnit ,JUnit Text Case
->Source folder,Package 選擇創建的路徑
@Test
public void testFindDeptById2() {
Dept dept=deptBiz.findDeptById2(1);
assertEquals("叫", dept.getDeptName());
}
expected:預期的結果
actual: 實際的結果
二,創建 模板
package cn.hibernatedemo.dao;
import cn.hibernatedemo.entity.Dept;
public interface IBaseDao<T> {
//通過Session 的get()方法,根據OID 加載指定對象
public T get(int id);
//通過Session 的load()方法,根據OID 加載指定對象
public T load(int id);
//保存指定的 泛型對象
public void save(T entity);
//修改指定的 泛型對象
public void update(T entity);
//刪除指定的 泛型對象
public void delete(T entity);
}
package cn.hibernatedemo.dao;
import java.lang.reflect.ParameterizedType;
import org.hibernate.Session;
import cn.hibernatedemo.entity.Dept;
public abstract class BaseDaoImp<T> implements IBaseDao<T> {
private Class<T> clazz;
public Session currentSession() {
return HibernateUtil.currentSession();
}
public BaseDaoImp() {
// TODO Auto-generated constructor stub
//使用反射技術得到 T 的 真實類型
ParameterizedType pt=(ParameterizedType)this.getClass().getGenericSuperclass();
this.clazz=(Class<T>)pt.getActualTypeArguments()[0];
}
@Override
public T get(int id) {
// TODO Auto-generated method stub
return (T) currentSession().get(clazz, id);
}
@Override
public T load(int id) {
// TODO Auto-generated method stub
return (T) currentSession().load(clazz, id);
}
@Override
public void save(T entity) {
// TODO Auto-generated method stub
currentSession().save(entity);
}
@Override
public void update(T entity) {
// TODO Auto-generated method stub
currentSession().update(entity);
}
@Override
public void delete(T entity) {
// TODO Auto-generated method stub
currentSession().delete(entity);
}
}
1)獲得Sessionreturn HibernateUtil.currentSession();
}
this.clazz=(Class<T>)pt.getActualTypeArguments()[0];