皕杰技术社区

 找回密码
 立即加入

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1185|回复: 4

皕杰怎么配置自定义数据源

[复制链接]
发表于 2018-9-29 17:20:08 | 显示全部楼层 |阅读模式
皕杰报表怎么配置自定义数据源?
发表于 2018-9-29 17:40:45 | 显示全部楼层
皕杰报表提供自定义数据源的api接口:帮助文档-开发指南-javadoc-bios.report.api.factory-DataSourceFactoryAdapter。数据源工厂适配器,为IDataSourceFactory接口中描述的方法提供了缺省实现,方便用户快捷继承(仅对需要的方法做实现即可)。 用户可通过实现该类bios.report.api.factory.DataSourceFactoryAdapter中的方法。
自定义java代码继承该类,然后在WEB-INF\resources\congfig.xml里修改<dataSourceFactory>节点值为监听类的全路径
  1. <dataSourceFactory>bios.report.dev.examples.factory.IDataSourceFactoryDemo</dataSourceFactory>  <!-- 自定义数据源工厂,用于通过自定义的方式获取报表数据源 -->
复制代码

回复 支持 反对

使用道具 举报

发表于 2018-9-29 17:42:16 | 显示全部楼层
代码实例:
  1. package bios.report.dev.examples.factory;
  2. import java.sql.*;
  3. import bios.report.api.factory.*;
  4. import bios.report.api.usermodel.DataSourceEntity;
  5. import bios.report.api.utils.LoggerUtil;
  6. public class IDataSourceFactoryDemo extends DataSourceFactoryAdapter{
  7.         public DataSourceEntity getDbDataSource(String dsName) {
  8.                 LoggerUtil.debug("-----"+dsName+"数据源正在连接-----");
  9.                 Connection con=getConnection(dsName);
  10.                 if(con != null){
  11.                         System.out.println("----"+dsName+"数据源连接成功-----");
  12.                         return DataSourceEntity.createDbDataSource(con,"gbk", DataSourceEntity.DBTYPE_MYSQL);
  13.                 }else{
  14.                         System.out.println("----"+dsName+"数据源连接失败-----");
  15.                         return null;
  16.                 }
  17.         }
复制代码

回复 支持 反对

使用道具 举报

发表于 2018-9-29 17:46:14 | 显示全部楼层
  1. private Connection getConnection(String dsName ) {
  2. //数据库连接
  3. Connection con=null;       
  4. try {
  5. Class.forName("com.mysql.jdbc.Driver");
  6. if("test".equals(dsName)){
  7. con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
  8. }
  9. } catch (ClassNotFoundException e) {
  10. e.printStackTrace();
  11. } catch (SQLException e) {
  12. e.printStackTrace();
  13. }
  14. return con;
  15. }
  16. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-29 17:47:30 | 显示全部楼层
谢谢解答,我测试一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

QQ|小黑屋|手机版|皕杰软件 ( 京ICP备14050931号 )

GMT+8, 2024-3-3 20:07 , Processed in 1.114102 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表