谁帮我解释下SSH这段代码

来源:百度知道 编辑:UC知道 时间:2024/09/20 22:31:58
public Collection getOptions(String key)throws Exception
{
StringBuilder hql=new StringBuilder()
.append("select new list(a.fcode,a.fvalue)")
.append(" from Syscode a")
.append(" where a.fname=?")
;
List<List> items=this.getHibernateTemplate().find(hql.toString(), new Object[]{key});
int size=items.size();
Collection coll=new ArrayList();
for(List<String> item:items)
{
coll.add(new LabelValueBean(item.get(1),item.get(0)));
}

return coll;

}

HQL 句子不用解释~~~~ 谢谢 最好别太用专业词~~~ 谢谢 刚学JAVA

sql为拼出的sql语句
第二个是使用hibernate自带的方法调用此sql并查询数据库,把得出的记录保存在items中,遍历items,依次把记录取出
注意:你查出的是a.fcode,a.fvalue,那item.get(1)代表fvalue,item.get(0)代表fcode,然后保存到coll中...
综合来说:从Syscode表中查出他的fcode和fvalue两个字段的记录,然后以fvalue在前fcode在后的顺序保存到一个List中并返回这个List

List<List> items=this.getHibernateTemplate().find(hql.toString(), new Object[]{key}); //调用hibernate自带的模版 传一条件参数 (用户名)
int size=items.size();//这个可以删除,没什么用
Collection coll=new ArrayList(); //new一个容器 放查询到的结果集合
for(List<String> item:items) //每次从结果集合里取出一个记录
{
coll.add(new LabelValueBean(item.get(1),item.get(0))); //将一个记录放进容器coll内
}

return coll; //

要给分哦!呵呵!

刚学java就整这个 比较狠