restful接口将查出来的表以json格式返回

Servlet层

 @Override
    public List porttablemapping(String detaliNumber, String field) throws Exception {
        /*映射表接口*/
            StringBuffer sqlTN = new StringBuffer();
            StringBuffer sqll = new StringBuffer();
            sqlTN.append("select sources_table from sap_org_mapping_detail where detail_number="+detaliNumber+"");
            SQLQuery queryTN= this.getBaseDao().getHibernateSession().createSQLQuery(sqlTN.toString());
            List<String> listTN=queryTN.list();
            String tablename=listTN.get(0);
            if(field==null){
                sqll.append("select * from "+tablename+"");
            }else{
                sqll.append("select "+field+" from "+tablename+"");
            }
            List llist=this.getBaseDao().getHibernateSession().createSQLQuery(sqll.toString()).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
            return llist;
}

list测试的结果为:[{CARDID=268437586, READERNAME=68, READERID=1000068, STATIONID=141, STATIONNAME=中央党校北门站, RLOCATION=116.45007,39.9918, CARID=鲁A00002}, {CARDID=268437575, READERNAME=68, READERID=1000068, STATIONID=141, STATIONNAME=中央党校北门站, RLOCATION=116.45007,39.9918, CARID=鲁A00001}, {CARDID=268437592, READERNAME=68, READERID=1000068, STATIONID=141, STATIONNAME=中央党校北门站, RLOCATION=116.45007,39.9918, CARID=鲁A00004}]


说明:另外,对于ResultTransformer的用法还有很多,它可以将用SQL语句查询的结果转化成为指定的BEAN,也可以转为LIST,也可以转化为MAP

 
 
本来查询出来的list是List<Object[]>这个类型的,同个setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP)转换后就是List<map>类型

controller层

@Controller
@RequestMapping(value = "/SapOrgMappingDetailController")
public class SapOrgMappingDetailController {

    private ISapOrgMappingDetailService sapOrgMappingDetailService;

    public ISapOrgMappingDetailService getSapOrgMappingDetailService() {
        return sapOrgMappingDetailService;
    }

    public void setSapOrgMappingDetailService(ISapOrgMappingDetailService sapOrgMappingDetailService) {
        this.sapOrgMappingDetailService = sapOrgMappingDetailService;
    }
    @RequestMapping(value = "/porttablemapping",produces="application/json;charset=utf-8")
    @ResponseBody()  自动将返回值改为JSON格式
    public List porttablemapping(String detaliNumber, String field) throws Exception {
       List list= sapOrgMappingDetailService.porttablemapping(detaliNumber,field);
       return list;
    }
}

请求链接:

http://localhost:8080/SapOrgMappingDetailController/porttablemapping?detaliNumber='20191108-002_1'&field='sources_field'

posted @ 2020-03-30 14:02  你猜lovlife  阅读(1633)  评论(0)    收藏  举报