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'


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM