public class BaseHibernateDAO {
public List search(Class cl,Object condition)
{
List list=null;
try{
list=this.getSession().createCriteria(cl).add(Example.create(condition)).list();
}
catch(Exception e)
{
e.printStackTrace();
}finally
{
this.closeSession();
}
return list;
}
其它方法省略
} public static void main(String[] args) {
Account condition=new Account();
condition.setBalance(100);
BaseHibernateDAO bd=new BaseHibernateDAO();
List list=(List)bd.search(Account.class, condition);
for(int i=0;i <list.size();i++)
{
Account a=(Account)list.get(i);
System.out.println(a.getId());
}
}
上面代码没有错,如果要查询balance>100的要怎么改呢?
不能使用下面的方法
Criteria c=getSession().createCriteria(Table.class);
c.add(Restrictions.gt("balance",conditon.balance()));
只能用BaseHibernateDAO 类的search方法
public List search(Class cl,Object condition)
{
List list=null;
try{
list=this.getSession().createCriteria(cl).add(Example.create(condition)).list();
}
catch(Exception e)
{
e.printStackTrace();
}finally
{
this.closeSession();
}
return list;
}
其它方法省略
} public static void main(String[] args) {
Account condition=new Account();
condition.setBalance(100);
BaseHibernateDAO bd=new BaseHibernateDAO();
List list=(List)bd.search(Account.class, condition);
for(int i=0;i <list.size();i++)
{
Account a=(Account)list.get(i);
System.out.println(a.getId());
}
}
上面代码没有错,如果要查询balance>100的要怎么改呢?
不能使用下面的方法
Criteria c=getSession().createCriteria(Table.class);
c.add(Restrictions.gt("balance",conditon.balance()));
只能用BaseHibernateDAO 类的search方法
解决方案 »
- Java 标签库中<c:foreach>
- Xquery 选取 top 10
- struts问题 急急急
- 序列化的对象作为webserivces 调用一个方法的参数出错,可是不通过
- 写logic:iterate标签,如何美化界面,有的发个漂亮的代码
- JAVA在拼写XML的时候如何取掉重复的STRING字符串
- 开放OA源码!
- Hibernate 如何执行这条语句
- 写了一个sessionBean,结果import javax.ejb.*编译器报错,说是没有,classpath应该怎么设置?
- 有谁知道ant和Xdoclet到底是用来做什么的,怎么用法???
- 请求帮忙Struts1的问题
- jsp 双分页,谁做过双分页
{
List list=null;
try{
list=this.getSession().createCriteria(cl).add(Example.create(condition)).list();
}
catch(Exception e)
{
e.printStackTrace();
}finally
{
this.closeSession();
}
return list;
}
Example.create(condition)会根据属性的类型,如果是String就是like,否则就是=