Maximo执行查询操作

在Maximo中有时候我们需要根据一些mbo的属性来查询,比如说根据status和reportdate属性,此时可以通过MboSetRemote的setWhere方法来实现,下面的代码演示了怎样根据status和reportdate来查询结果。这里由于后台使用的是oracle数据库,所以使用了oracle的日期函数。

import psdi.mbo.MboRemote;
import psdi.mbo.MboSetRemote;
import psdi.util.MXException;
import psdi.util.MXSession;
 
import java.rmi.RemoteException;
 
public class TestQuery {
    public static void main(String[] args) throws Exception {
        MXSession mxSession = null;
        try {
            mxSession = getMXSession();
            MboSetRemote mboSetRemote = (MboSetRemote) mxSession.getMboSet("WORKORDER");
 
            mboSetRemote.setWhere("(status = 'CLOSE') and (reportdate between to_date('1999-01-01', 'YYYY-mm-dd') and to_date('2014-01-01', 'YYYY-mm-dd'))");
            mboSetRemote.setQbeExactMatch(true);
 
            int idx = 0;
            MboRemote mboRemote = mboSetRemote.moveFirst();
            while (true) {
                if (mboRemote == null || idx >= 10) {
                    break;
                }
                System.out.println(mboRemote.getString("wonum") + ": " + mboRemote.getMboValueData("reportdate").getDataAsDate());
                mboRemote = mboSetRemote.moveNext();
                idx++;
            }
        } catch(Exception ex) {
            ex.printStackTrace();
        } finally {
            closeMXSession(mxSession);
        }
    }
 
    public static MXSession getMXSession() throws RemoteException, MXException {
        String server = "<host>:<port>/MXServer";
        String username = "<username>";
        String password = "<password>";
 
        MXSession mxSession = MXSession.getSession();
        mxSession.setHost(server);
        mxSession.setUserName(username);
        mxSession.setPassword(password);
 
        mxSession.connect();
 
        return mxSession;
    }
 
    public static void closeMXSession(MXSession mxSession) throws RemoteException, MXException {
        if (mxSession != null) {
            mxSession.disconnect();
        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值