bboss 動態sql使用 非原創

2021-08-31 23:19:16 字數 2114 閱讀 7314

<?xml version="1.0" encoding="utf-8"?>

動態sql語句中包含兩種型別的變數:

#[service_requester_name] 這種變數將被轉換成預編譯繫結引數變數

$service_requester_code 這種變數直接被替換成相應的變數值

除了sql引數變數外,我們在sql中使用以下邏輯結構

#if/#elseif/#end

來動態生成sql語句,以下是乙個簡單的結構例項:

#if( $foo < 10 )

#elseif( $foo == 10 )

#elseif( $bar == 6 )

#else

#end

根據傳入的變數的值做相應的處理,從而在執行時動態生成sql語句,邏輯表達中使用變數的語法為$開頭加變數名稱:$service_requester_name。

判斷變數是否為null的語法為:

#if($service_requester_name)

邏輯表示式使用的velocity模板引擎語法,非常靈活,我們可以在動態sql模板中使用幾乎所有velocity模板引擎的功能,具體使用方法可以參考velocity模板引擎官網資料。

載入sql配置檔案並定義configsqlexecutor 元件:

只要確保com/chinacreator/tjbb/dao/impl/stxftj.xml檔案存放在classpath環境中即可,一般是在classes目錄下。

dao元件中執行動態sql並返回執行結果:

package com.chinacreator.esb.uddi.requester.dao.impl;

import com.chinacreator.esb.uddi.requester.dao.requesterdao;

import com.chinacreator.esb.uddi.requester.entity.requester;

import com.frameworkset.common.poolman.configsqlexecutor;

import com.frameworkset.util.listinfo;

public class requesterdaoimpl implements requesterdao

}

需要額外說明的是怎麼對like查詢的值進行處理,如何新增%號,需要在dao方法中新增%號,否則不能正常查詢出結果,我們配置的動態sql語句中有兩個查詢條件是

service_requester_name like #[service_requester_name]

和 service_requester_account like #[service_requester_account]

我們在dao方法中如此設定%號:

querycondobj.setservice_requester_name("%" +

querycondobj.getservice_requester_name() + "%");//設定模糊查詢條件值

querycondobj.setservice_requester_account("%" +

querycondobj.getservice_requester_account() + "%");//設定模糊查詢條件值

EventBus3 0 使用(非原創)

寫完上篇文章,這篇這心不想寫了,但是每週至少一篇的習慣不能改啊!雖然eventbus使用起來很簡單,但是種類特別多,比如他有粘性事件和非粘性事件,他們又都含有四種模式,並且還要測試在ui執行緒和非ui執行緒,所以情況很多種,廢話不多說繼續看。1 eventbus工具類,這裡為了使用方便寫了乙個簡單的...

原創 把SQL的動態查詢改成SQL查詢

在我們使用儲存過程的時候,有時為了組合查詢條件,不得不使用動態查詢。比如下面的 create proc usp search city intas begin declare sql varchar 8000 set sql n select from testtable where 1 1 if ...

動態css的一種思路 非原創

在web系統開發過程中,採用css 增強和美化頁面樣式已經成了一道標準 工序 在visual studio net 環境下開發bs系統,可以通過設定web 控制項的cssclass屬性,方便地設定和修改控制項的樣式。但在實際開發過程中,讓開發人員乙個個地設定控制項的cssclass屬性,不僅繁瑣,而...