[1].[代码] [Java]代码 跳至 [1] [2]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | public <T> List<T> queryBySql(String sql, Class<T> clzz) { SQLQuery sqlQuery = getSession().createSQLQuery(sql.toString()); sqlQuery.setResultTransformer(CriteriaSpecification.ALIAS_TO_ENTITY_MAP); @SuppressWarnings ( "unchecked" ) List<Map<String, Object>> list = (List<Map<String, Object>>) sqlQuery .list(); List<T> result = new ArrayList<T>(); try { PropertyDescriptor[] props = Introspector.getBeanInfo(clzz) .getPropertyDescriptors(); for (Map<String, Object> map : list) { T t = clzz.newInstance(); for (Entry<String, Object> entry : map.entrySet()) { String attrName = entry.getKey().toLowerCase(); for (PropertyDescriptor prop : props) { if (!attrName.equals(prop.getName())) { continue ; } Method method = prop.getWriteMethod(); method.invoke(t, entry.getValue()); } } result.add(t); } } catch (Exception e) { e.printStackTrace(); } return result;} |
[2].[代码] [Java]代码 跳至 [1] [2]
1 2 3 4 5 6 7 8 9 10 11 12 | @Overridepublic List<PsndocInfo> getAllPsndocList() { StringBuilder sql = new StringBuilder(); sql.append( "\n" ); sql.append( "SELECT doc.pk_org, org.name orgname, org.code orgcode, doc.name psnname, doc.code psncode,doc.enablestate\n" ); sql.append( " FROM bd_psndoc doc\n" ); sql.append( " inner join org_orgs org\n" ); sql.append( " on doc.pk_org = org.pk_org" ); return super .queryBySql(sql.toString(), PsndocInfo. class );} |
版权声明:本文为u014311042原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。