public interface ICallback {
public Session execute(Session session);
} public void sessionManagement(ICallback iCallback){
Session session = null;
try{
session = HibernateUtils.getSession();
session.beginTransaction();
session = iCallback.execute(session);
session.getTransaction().commit();
}catch(Exception ex){
ex.printStackTrace();
session.getTransaction().rollback();
}
finally{
HibernateUtils.closeSession(session);
}
}public List listAll(final String clazz) {
final List list1 = new ArrayList();
Callback cb = new Callback();
cb.sessionManagement(new ICallback(){
public Session execute(Session session){
list1 = session.createQuery("from "+clazz).list();
return session;
}
});
return list1;
}
这个方法很奇怪,我只能传参数进去,却不能把结果传出来
public Session execute(Session session);
} public void sessionManagement(ICallback iCallback){
Session session = null;
try{
session = HibernateUtils.getSession();
session.beginTransaction();
session = iCallback.execute(session);
session.getTransaction().commit();
}catch(Exception ex){
ex.printStackTrace();
session.getTransaction().rollback();
}
finally{
HibernateUtils.closeSession(session);
}
}public List listAll(final String clazz) {
final List list1 = new ArrayList();
Callback cb = new Callback();
cb.sessionManagement(new ICallback(){
public Session execute(Session session){
list1 = session.createQuery("from "+clazz).list();
return session;
}
});
return list1;
}
这个方法很奇怪,我只能传参数进去,却不能把结果传出来
解决方案 »
- java 数独算法
- struts2 高手解答
- web项目利用jasperreports生成报表
- 求用到Comparator中int compare(T o1, T o2)的例子
- HQL帮忙看一下,错在那了?
- Action如何返回Document对象
- 关于用JAVA发mail的问题,请高手帮助
- servlet跳转
- mina2 16进制得到数据后再得不到数据了
- Spring boot 1.5.1.RELEASE 使用@Controller 注解 和@RequestMapping 出錯
- weblogic console部署war包 web-inf/classes下的文件丢失?
- SSH的子查询问题,很急求各位大哥大姐 支招
Callback cb = new Callback();
cb.sessionManagement(new ICallback(){
public Session execute(Session session){//list1 = session.createQuery("from "+clazz).list();
List l = session.createQuery("from "+clazz).list();
list1.addAll(l);return session;}});
return list1;
,你用list1.add(session.createQuery("from "+clazz).list());试试看
java是按引用传值,你这样没任何效果。在离开函数之内,传递给函数的引用就没用了。
所以,离开函数之后你的list又是原来的那个了。
thank u for ur reply,but i have another question,:how about the performance of the application,when i pick up the data from the list of list?
for(Iterator it = list1;ti.hasNext();){
List l = it.next();
for(Iterator iter = l.iterator();iter.hasNext();){
..............
}
}
Callback cb = new Callback();
cb.sessionManagement(new ICallback(){
interface ICallback 可以被实例化吗?接口好像不能被实例化吧?