Public list<datasetcolumn> querydatasetcolumns (String datasetid) {if ( Stringutil.isempty (Datasetid)) {return new ArrayList<DatasetColumn> ();} Datasetdefine dataset = this.findbyid (Datasetdefine.class, datasetid); string sql = "select * from (" + dataset.getsql () + ") Where 1=0 "; List<datasetcolumn> list = getjdbctemplate (). Query (Sql, new resultsetextractor <List<DatasetColumn>> () {@Overridepublic list<datasetcolumn> extractdata ( RESULTSET&NBSP;RS) throws SQLException, DataAccessException {ResultSetMetaData Metadata = rs.getmetadata (); Int count = metadata.getcolumncount (); List<datasetcolumn> l = new arraylist<datasetcolumn> ();for (int i = 0; i < count; i++) {string fieldnaMe = metadata.getcolumnname (i + 1). toLowerCase ();//int type = Metadata.getcolumntype (i + 1); String typename = metadata.getcolumntypename (i + 1). toLowerCase (); L.add (new DataSetColumn (Fieldname, typename));} Return l;}}); Return list;}
To get the metadata for the SQL query result set column based on the SQL query