代碼檔來源:資料庫

設定檔說明

  • 同樣可以加上子項名稱以定義多組設定,如:code.database.${sub}.table。

  • 可用的設定值有以下幾項:

    • key
    • text
    • table
    • alias
    • lang
    • category

code.database.key / code.database.text

指定代碼及文字定義存放的欄位。 預設值為 key / text,也就是預期會建立像是 select key, text from xxxx 的 SQL 語句取得代碼表內容。

  • 下例展示如何只使用欄位的部分內容做為 KEY 值
  • 語法可能與特定資料庫有關,若實作專案可能使用與多種資料庫產品,請自行注意。
  • 同理,text 也可以擷取或是合併欄位取值。
# --縣市
code.database.unitcounty.key   = substring(siteno,1,5)
code.database.unitcounty.text  = unitcode

code.database.table / code.database.alias

「table」 為必要選項,定義將讀取的資料表名稱。

  • 如下例就會自 As2applyitem 讀取資料。
    • 即 select key, text from As2applyitem。
code.database.As2applyitem.table = As2applyitem
  • 下例加入額外條件,且希望取回代碼表有順序性。
    • 就必須加上一個 alias 屬性,以定義對應的 category 名稱。
code.database.unitcounty.table = unitmapping_legend where level='2' and sitenow='' order by rank
code.database.unitcounty.alias = unit-county

code.database.lang

當使用多國語系時,以哪一個欄位儲存語系資訊。

當使用 CodeTableComponent 元件,未傳入 Locale 參數、或 Locale 參數為 NULL 時, 加入查詢條件為 (lang_column='' or lang_column is null or lang_column = Locale.getDefault().toString())

否則若指定 Locale ,則加入查詢條件 lang_column = locale.toString()。

code.database.category

上述案例都是一個 table 只存放一組 category。 若指定 「category」,就可以把多組 category 放在同一個 table 中。

  • 下例中,所有的 category 項目為:
    • select distinct category from CODETABLE
  • 個別的 codetable 在查詢時,則是:
    • select key, text from CODETABLE where lang=? and category=?
  • 此時「alias」設定無作用。
# 「以資料庫為來源」設定,其中  category 欄位分割定義各代碼集。
code.database.table = CODETABLE
code.database.category = category
code.database.key  = key
code.database.lang = lang
code.database.text = text

code.database.readonly

唯讀:當設定為 Y 時,就不能使用 CodeTable 管理API 執行變更操作。

但另外開發相關 DB 寫入程式則不受此限制。

results matching ""

    No results matching ""