`
flyingbug
  • 浏览: 131027 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[BIRT]-[Tutorial]-使用ScriptDataSet从POJO中获得数据(二)

阅读更多
配置文件dbconfig.xml如下:
1<config>
2    <dbinfo>
3        <url>jdbc:oracle:thin:@133.1.72.44:1521:test</url>
4        <user>test</user>
5        <pwd>test</pwd>
6        <connNumber>10</connNumber>
7    </dbinfo>
8</config>
9

这样数据库连接类部分就完成了
下面写一个简单数据访问类,由
TableRowSetRow三个类组成:<!----><o:p></o:p>

Table.java代码如下
<o:p>

  1package com.bat.afp.DAOComm;
  2
  3import java.sql.Connection;
  4import java.sql.ResultSet;
  5import java.sql.ResultSetMetaData;
  6import java.sql.SQLException;
  7import java.sql.Statement;
  8import org.apache.log4j.Logger;
  9
 10/**//**
 11 * @author liuyf
 12 */

 13public class Table {
 14
 15    private static final Logger    logger    = Logger.getLogger(Table.class);
 16
 17    private String                tableName;
 18
 19    public Table(String name) {
 20        this.tableName = name;
 21    }

 22
 23    /**//**
 24     * 根据条件查出该Table中的某些列
 25     * 
 26     * @param sql
 27     * @param cols
 28     * @return
 29     * @throws SQLException
 30     */

 31    private RowSet executeSQL(String criteria, String[] columns) throws SQLException {
 32        Connection conn = null;
 33        Statement st = null;
 34        ResultSet rs = null;
 35        RowSet rows = new RowSet();
 36        try {
 37            conn = DBUtil.getInstance().getConnection();
 38            st = conn.createStatement();
 39            StringBuffer buffer = new StringBuffer();
 40            for (int i = 0; i < columns.length - 1++i) {
 41                buffer.append(columns[i]);
 42                buffer.append(",");
 43            }

 44            buffer.append(columns[columns.length - 1]);
 45            String column = buffer.toString();
 46            rs = st.executeQuery("select " + column + " from " + tableName
 47                    + (criteria == null ? "" : (" where " + criteria)));
 48            int cols = columns.length;
 49            while (rs.next()) {
 50                Row row = new Row();
 51                for (int i = 0; i < cols; ++i) {
 52                    String name = columns[i];
 53                    String value = rs.getString(i + 1);
 54                    row.put(name, value);
 55                }

 56                rows.add(row);
 57            }

 58        }

 59        finally {
 60            try {
 61                if (st != null)
 62                    st.close();
 63            }
 catch (Exception e) {
 64            }

 65            try {
 66                if (conn != null)
 67                    conn.close();
 68            }
 catch (Exception e) {
 69            }

 70        }

 71        return rows;
 72    }

 73
 74    private RowSet executeSQL(String sql) throws SQLException {
 75        Connection conn = null;
 76        Statement st = null;
 77        ResultSet rs = null;
 78        RowSet rows = new RowSet();
 79        try {
 80            conn = DBUtil.getInstance().getConnection();
 81            st = conn.createStatement();
 82            rs = st.executeQuery(sql);
 83            ResultSetMetaData rsmd = rs.getMetaData();
 84            int cols = rsmd.getColumnCount();
 85            while (rs.next()) {
 86                Row row = new Row();
 87                for (int i = 0; i < cols; ++i) {
 88                    String name = rsmd.getColumnName(i + 1);
 89                    String value = rs.getString(i + 1);
 90                    row.put(name, value);
 91                }

 92                rows.add(row);
 93            }

 94        }

 95        finally {
 96            try {
 97                if (st != null)
 98                    st.close();
 99            }
 catch (Exception e) {
100            }

101            try {
102                if (conn != null)
103                    conn.close();
104            }
 catch (Exception e) {
105            }

106        }

107        return rows;
108    }

109
110    private RowSet execute(String criteria) throws SQLException {
111 &n
分享到:
评论

相关推荐

    birt-runtime-4.8.0-20180626.zip

    标题中的“birt-runtime-4.8.0-20180626.zip”指的是一款名为BIRT(Business Intelligence and Reporting Tools)的开源报表系统,其运行时环境的版本号为4.8.0,发布日期为2018年6月26日。BIRT是一个由Eclipse基金...

    birt-jsp-tag

    "birt-jsp-tag"是关于BIRT(Business Intelligence and Reporting Tools)与JSP(JavaServer Pages)结合使用的标签库,这主要涉及到Web应用中报表生成和展示的技术。BIRT是一个开源项目,由Eclipse基金会维护,用于...

    birt-runtime2.3.1/2.3.2汉化包

    通常,使用说明会涵盖如何将汉化包集成到现有的BIRT环境中,可能包括下载、解压、复制相关文件到指定目录、重启BIRT引擎等步骤。遵循这些步骤,用户可以将BIRT的界面语言切换为中文,从而提高工作效率。 "NLpack1-...

    birt-runtime-4.7

    8. **WebViewerExample**: 这是一个示例Web应用程序,展示了如何在Web环境中集成BIRT报表查看器,用户可以通过这个例子学习如何在自己的Web应用中嵌入BIRT报表。 BIRT的核心组件包括设计时环境(BIRT Designer)和...

    birt-----表头排序

    在IT行业中,BIRT(Business Intelligence and Reporting Tools)是一个开源的报表系统,广泛应用于数据分析和信息展示。本文将深入探讨“birt-----表头排序”这一主题,旨在帮助你理解和掌握如何在BIRT中实现表格...

    birt-report-framework

    6. **数据集和脚本**:BIRT允许创建和管理数据集,可以编写SQL查询或使用内置的脚本语言(JavaScript)来处理数据,实现更复杂的计算和过滤。 7. **样式和主题**:BIRT支持CSS样式表,用户可以自定义报表的外观,...

    eclipse 3.50(galileo版本)中文语言包(BabelLanguagePack-birt-zh_3.5.0.v20091121043401)

    eclipse galileo版本的中文语言包,BabelLanguagePack-birt-zh_3.5.0.v20091121043401,下载直接解压到eclipse的dropins目录,启动eclipse即可。

    解析BIRT-Eclipse商业智能和报表工具

    通过使用数据集,开发者可以定义查询来获取需要的数据,还可以对数据进行预处理,如过滤、排序和聚合。数据集可以是静态的,也可以是动态的,以适应不同的应用场景。 ### 报表呈现和交互 BIRT生成的报表可以以HTML...

    birt-runtime-2.2.2

    birt报表-简单官方实例 /** * Simple BIRT Design Engine API (DEAPI) demo. */

    birt-runtime

    在Java应用程序中,BIRT运行时通常作为库集成,使得开发者可以利用其强大的报表设计功能。在本场景中,"birt-runtime"指的是BIRT的运行时组件,它包含了执行已设计报表所需的所有组件。 标题中的“birt-runtime”...

    PyPI 官网下载 | birt-gd-0.1.21.tar.gz

    BIRT-GD(BIRT for Google Data)则是这个生态系统中的一个扩展,它旨在帮助开发者将BIRT的功能与Google Data服务相结合,实现更高效的数据分析和展示。 “birt-gd-0.1.21.tar.gz”是一个经过打包的源代码文件,...

    birt-report-framework插件

    2. **数据源支持:**BIRT支持多种数据源,包括关系型数据库、XML、Web服务等,使得报表可以从各种类型的数据中获取信息。 3. **数据集与脚本:**数据集是查询数据的逻辑单元,开发者可以编写SQL或使用内置的脚本语言...

    非常好的birt-RCP实例

    BIRT(Business Intelligence and Reporting Tools)是Eclipse基金会下的一个开源报表系统,它提供了一种强大的数据可视化和报告生成解决方案。RCP(Rich Client Platform)是Eclipse框架的一部分,用于构建复杂的...

    解析BIRT-Eclipse商业智能和报表工具(全)

    - **创建数据源**:首先需要定义数据源,这是BIRT报表获取数据的基础。支持JDBC连接、XML文件等多种数据源类型。 - **设计报表布局**:利用BIRT Designer提供的拖拽式界面进行布局设计,包括添加表格、图表等元素。 ...

    birt-report-framework-sdk-4_4_2.part1

    eclipse开发报表的插件birt 只是一个插件,安装方法和其它eclipse插件一样

    birt_POJO作数据源

    【BIRT POJO作数据源】是BIRT报表设计中的一种高级用法,它允许开发者直接使用Java的Plain Old Java Objects (POJOs)作为报表的数据源,而非传统的数据库或其他结构化数据源。这种方式提供了更大的灵活性,特别是...

    birt的jar包

    BIRT(Business Intelligence and Reporting Tools)是Eclipse基金会下的一个开源报表系统项目,主要用于生成复杂的商业报告和数据可视化。在Java环境下,BIRT提供了一套API和可扩展的框架,使得开发者可以轻松地将...

    用pojo对象作birt的数据源

    本话题将详细讲解如何利用Java中的POJO(Plain Old Java Object)对象作为BIRT报告的数据源,从而实现更加灵活且高效的数据绑定。 首先,理解POJO的概念至关重要。POJO是一种简单的Java类,它不包含任何特殊的框架...

    解析BIRT-Eclipse商业智能和报表工具

    中文版的Birt说明,详细介绍Birt的使用

Global site tag (gtag.js) - Google Analytics