Maximo执行查询操作

来源:互联网 发布:buy.apple mac china 编辑:程序博客网 时间:2024/04/29 13:54

在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();        }    }}


0 0
原创粉丝点击