英雄不寂寞

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在写hql写表连接发现不能使用on关键字,只能用sql了,可以使用下面的方法把执行后的Object转换为实体对象

Session session=this.getSession();
        Query query=session.createSQLQuery(sql.toString()).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
        query.setString(0, "%"+gongGaoName+"%");
        query.setFirstResult(ps.getStartIndex());
        query.setMaxResults(ps.getCountOnEachPage());
        //因为写的sql语句,query.list()返回的是Object类型
        List<?> list=query.list();
        //把Object类型放入实体类
        Iterator<?> it=list.iterator();
        List<BhTiJiaoHeTong> item = new ArrayList<BhTiJiaoHeTong>();
        while(it.hasNext()){
            //把实体类放入到List中
            BhTiJiaoHeTong tiJiaoHeTong=new BhTiJiaoHeTong();
            Map<?, ?> map = (Map<?, ?>)it.next();  
            //写的是数据库中的列名,区分大小写,如oracle的必须是大写
            tiJiaoHeTong.setId(map.get("ID")==null?null:Long.parseLong(map.get("ID").toString()));
            tiJiaoHeTong.setGdId(map.get("BIAODUANID")==null?null:Long.parseLong(map.get("BIAODUANID").toString()));
            tiJiaoHeTong.setBiaoDuanBianHao(map.get("BIAODUANID")==null?null:map.get("BIAODUANID").toString());
            tiJiaoHeTong.setBiaoDuanMingCheng(map.get("BIAODUANMINGCHENG")==null?null:map.get("BIAODUANMINGCHENG").toString());
            tiJiaoHeTong.setGongGaoBianHao(map.get("GONGGAOBIANHAO")==null?null:map.get("GONGGAOBIANHAO").toString());
            tiJiaoHeTong.setGongGaoMingCheng(map.get("GONGGAOMINGCHENG")==null?null:map.get("GONGGAOMINGCHENG").toString());
            item.add(tiJiaoHeTong);
        }

以上代码有分页,如果没有分页可以使用spring的jdbcTemplate转换为实体类对象

        final List<BhTiJiaoHeTong> list = new ArrayList<BhTiJiaoHeTong>();        
        jdbcTemplate.query(sql.toString(),  new RowCallbackHandler() {        
            public void processRow(ResultSet rs) throws SQLException {
                BhTiJiaoHeTong biaoHouYeWu=new BhTiJiaoHeTong();
                biaoHouYeWu.setId(rs.getLong("id"));
                biaoHouYeWu.setGdId(rs.getInt("biaoDuanId"));
                biaoHouYeWu.setBiaoDuanBianHao(rs.getString("biaoDuanBianHao"));
                biaoHouYeWu.setBiaoDuanBianHao(rs.getString("biaoDuanMingCheng"));
                biaoHouYeWu.setGongGaoBianHao(rs.getString("gongGaoBianHao"));
                biaoHouYeWu.setGongGaoMingCheng(rs.getString("gongGaoMingCheng"));
                list.add(biaoHouYeWu);
            }
        });

 

posted on 2014-04-02 18:50  英雄不寂寞  阅读(444)  评论(0编辑  收藏  举报