首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

将随便查询结果ResultSet转化成List<Map>

2013-03-22 
将任意查询结果ResultSet转化成ListMap在JadePool中,提供了若干个查询方法,分别是:public List query(St

将任意查询结果ResultSet转化成List<Map>
        在JadePool中,提供了若干个查询方法,分别是:
                public List query(String sqlquery, int position, int length, boolean isScrollSenstive) throws SQLException
                public List query(String sqlquery, int timeout) throws SQLException
                public List query(String sqlquery) throws SQLException
        它们支持任意复杂的SQL查询,只要受DBMS支持,只要没有语法错误均可
        在这些方法中,每次完成ResultSet到List<Map>的转换后,立即关闭了ResultSet对象,它们均调用底层的核心方法
                private void _recordMappingToMap(String fieldClassName, String fieldName, ResultSet rs, Map fieldValue) throws SQLException
        在_recordMappingToMap中的参数Map fieldValue可以理解成Java的接口指针
        在早期设计PVO时,我始终认为SQL语言优于EJB的EJBQL语言,优于Hibernate的HQL语言,无论Hibernate的创建者还是使用者怎样的吹捧HQL如何如何的棒,但一个客观的事实是,SQL语言是一种标准的操作数据库的语言,SQL除了在DBMS中使用外,在vb、delphi、php、c/c++、java等等高级语言中均可以使用,它是任何一个软件工作者都无法回避的,是必须掌握的一门基础性语言
        核心类ProcessVO提供了一个将每一条记录转换成一个Map对象的方法,通过循环语句将任意的查询结果ResultSet转换成List<Map>类型的变量。因此,JadePool查询操作没有标新立异,它遵守的是行业标准,在语言语法上追求的是道法自然

        以下是 _recordMappingToMap的源代码

    /**     * 查询方法     *     * @param sqlquery 是标准查询语句,可以是任意复杂的多表查询语句,但必须是受JDBC API支持的标准查询语句     * @return 将查询结果ResultSet对象转换成List<Map<String,Object>>类型的结果     * @throws SQLException     */    @Override    public List query(String sqlquery) throws SQLException {        return this.query(sqlquery, 0);    }










热点排行