泛微OA 调用外部数据源

package weaver.interfaces.workflow.action;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import weaver.general.BaseBean;
import weaver.general.StaticObj;
//泛微OA调用外部数据源源代码
//bw.ren 2019年12月2日16:33:04
public class DataSourceDemo extends BaseBean {
    public void testDatasource() {
        //此处是取得上文定义的数据源dt1,如果需要操作其他系统的数据才需要该定义
        Connection conn = getConnection("datasource.local");
        try {
            //通过jdbc获取人数
            PreparedStatement s = conn.prepareStatement("select count(*) as counthrm from hrmresource");
            ResultSet rs = s.executeQuery();
            if (rs.next()) {
                String counthrm = rs.getString("counthrm");
                //输出到控制台
                System.out.println("人数:" + counthrm);
                writeLog("人数:" + counthrm);
            }
            rs.close();//关闭记录集
            s.close();//关闭statement
        } catch (Exception e) {
            writeLog(e);
        } finally {
            try {
                closeConnection(conn);//关闭连接
            } catch (Exception e) {
                writeLog(e);
            }
        }
    }
 
    /**
     * 获取自定义datasource的connection
     *
     * @param datasourceid 数据源id,为"datasource"+数据源配置里面的数据源名称,
     *                     比如配置了一个数据源名称为local,那么这个数据源id为:datasource.local
     * @return
     */
    public Connection getConnection(String datasourceid) {
        Connection conn = null;
        try {
            weaver.interfaces.datasource.DataSource datasource = (weaver.interfaces.datasource.DataSource) StaticObj.getServiceByFullname(datasourceid, weaver.interfaces.datasource.DataSource.class);  //获取数据源的信息
            conn = datasource.getConnection(); //和数据源取得连接
        } catch (Exception e) {
 
        }
        return conn;
    }
 
    /**
     * 关闭Connection
     *
     * @param conn
     */
    public void closeConnection(Connection conn) {
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                writeLog(e);
            }
        }
    }
}
 
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值