JasperReport 簡單使用(數據庫源爲數據庫)

一 創建數據庫數據源




 


 


 
 二 創建Report模板

1. 文件 -> 新建

2. 編輯SQL



 

3. 創建元素

 

三 生成報表

jasperreport.datasource.ConnectionProvider.java

    package jasperreport.datasource;  
      
    import java.sql.Connection;  
    import java.sql.DriverManager;  
    import java.sql.SQLException;  
      
    public class ConnectionProvider {  
        private static String driverClassName ="com.mysql.jdbc.Driver";  
        private static String username="root";  
        private static String password="root";  
        private static String url="jdbc:mysql://localhost/mysql";  
          
        static{  
            try {  
                Class.forName(driverClassName);  
            } catch (ClassNotFoundException e) {  
                throw new RuntimeException(e);  
            }  
        }  
          
        public static Connection getConnection(){  
            try {  
                return DriverManager.getConnection(url, username, password);  
            } catch (SQLException e) {  
                throw new RuntimeException(e);  
            }  
        }  
    }  

jasperreport.datasource.JasperReportWithDatasource.java

    package jasperreport.datasource;  
      
    import java.io.InputStream;  
    import java.sql.Connection;  
    import java.util.HashMap;  
    import java.util.Map;  
      
    import net.sf.jasperreports.engine.JRExporterParameter;  
    import net.sf.jasperreports.engine.JasperFillManager;  
    import net.sf.jasperreports.engine.JasperPrint;  
    import net.sf.jasperreports.engine.export.JRTextExporter;  
    import net.sf.jasperreports.engine.export.JRTextExporterParameter;  
      
    public class JasperReportWithDatasource {  
        public static void export() throws Exception{  
              
            InputStream inputStream = JasperReportWithDatasource.class.getResourceAsStream("DBReport.jasper");  
            Map<Object,Object> parameters = new HashMap<Object,Object>();  
            Connection connection = ConnectionProvider.getConnection();  
            JasperPrint jasperPrint = JasperFillManager.fillReport(inputStream, parameters, connection);  
              
              
            JRTextExporter exporter = new JRTextExporter();  
              
            exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);    
            exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "db.txt");    
            exporter.setParameter(JRTextExporterParameter.PAGE_WIDTH, 200);    
            exporter.setParameter(JRTextExporterParameter.PAGE_HEIGHT, 100);    
            exporter.exportReport();  
        }  
          
        public static void main(String[] args) throws Exception{  
            export();  
        }  
    }  

pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
        <modelVersion>4.0.0</modelVersion>  
        <groupId>JasperReport</groupId>  
        <artifactId>JasperReport</artifactId>  
        <version>0.0.1-SNAPSHOT</version>  
      
        <dependencies>  
            <dependency>  
                <groupId>net.sf.jasperreports</groupId>  
                <artifactId>jasperreports</artifactId>  
                <version>3.7.2</version>  
            </dependency>  
              
            <dependency>  
                <groupId>org.codehaus.groovy</groupId>  
                <artifactId>groovy-all</artifactId>  
                <version>1.7.5</version>  
            </dependency>  
              
            <dependency>  
                <groupId>mysql</groupId>  
                <artifactId>mysql-connector-java</artifactId>  
                <version>5.1.13</version>  
            </dependency>  
        </dependencies>  
    </project>  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章