Как передать динамическое значение в Sql с помощью WSO2 - PullRequest
0 голосов
/ 27 июня 2018

Мое требование - передать динамические значения, я просто жестко закодировал значения на какое-то время, может кто-нибудь выручить. Заранее спасибо. (База данных db2)

выберите имя ученика, где sname похоже ('% abc123%');

Это выбор значений, как и ожидалось. Но я просто жестко запрограммировал его в DSS, как передать его динамически?

1 Ответ

0 голосов
/ 27 июня 2018

Пример сервиса, как показано ниже,

<data name="dssTest" transports="http https local">              
  <config enableOData="false" id="TestDB">
    <property name="driverClassName">...</property>
    <property name="url">...</property>
    <property name="username">...</property>
    <property name="password">...</property>
  </config>
  <query id="testQuery" useConfig="TestDB">
    <sql>Select sname from student where sname like CONCAT('%', :whereclause, '%')</sql>
    <result element="StudentData" rowName="Student">
      <element column="snumber" name="snumber" optional="true" xsdType="string"/>
      <element column="sname" name="sname" optional="true" xsdType="string"/>
    </result>
    <param name="whereclause" sqlType="QUERY_STRING"/>
  </query>
  <operation name="testQueryOp">
    <call-query href="testQuery">
      <with-param name="whereclause" query-param="whereclause"/>
    </call-query>
  </operation>
</data>

При вызове этой услуги вы можете отправить значение для условия where.

<body>                                                                  
  <p:testQueryOp xmlns:p="http://ws.wso2.org/dataservice">
    <p:whereclause>abc123</p:whereclause>
  </p:testQueryOp>
</body>
...