一 创建数据库数据源
二 创建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 parameters = new HashMap();
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
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
JasperReport
JasperReport
0.0.1-SNAPSHOT
net.sf.jasperreports
jasperreports
3.7.2
org.codehaus.groovy
groovy-all
1.7.5
mysql
mysql-connector-java
5.1.13