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