10.1.實(shí)體

2023-07-03 17:30 更新

概述

Rapido各模塊之間關(guān)系,前面的內(nèi)容也做了簡(jiǎn)單描述,我們要開(kāi)發(fā)一個(gè)業(yè)務(wù)頁(yè)面,在Rapido當(dāng)中首先要做的就是先定義若干個(gè)實(shí)體。定義實(shí)體之前,我們需要先定義好實(shí)體存放的包名,如下圖所示:

操作

定義好包之前,在需要放置實(shí)體的包下雙擊包名即可在右邊工作區(qū)中看到實(shí)體定義界面,如下圖所示:
要添加實(shí)體,可以在左邊右鍵,在彈出菜單中選擇添加頂級(jí)實(shí)體,如下圖所示:
需要注意的是,實(shí)體支持樹(shù)形結(jié)構(gòu),利用這種樹(shù)形結(jié)構(gòu)就可以實(shí)現(xiàn)我們應(yīng)用當(dāng)中的主從表、遞歸樹(shù)之類層次形業(yè)務(wù)數(shù)據(jù)展示需求。添加完實(shí)體后,就可以定義該實(shí)體對(duì)應(yīng)的數(shù)據(jù)庫(kù)表及查詢數(shù)據(jù)采用的SQL等信息。
點(diǎn)擊“主體表名”字段中的按鈕,就可以彈出查詢SQL拼裝向?qū)?,利用該向?qū)?,我們就可以定義一些比較規(guī)則的查詢SQL,如下圖所示:
在實(shí)體SQL定義時(shí),除了可以通過(guò)上述向?qū)Х绞綄?shí)現(xiàn),如果您對(duì)SQL比較熟悉,那么可以直接在查詢SQL字段中直接定義要查詢的SQL,在SQL定義過(guò)程當(dāng)中,我們還可以通過(guò)邊上的圖標(biāo),打開(kāi)一個(gè)專業(yè)的SQL編輯器輸入SQL,在SQL定義中,還可以使用velocity語(yǔ)法定義動(dòng)態(tài)SQL,如下圖所示:

具體操作,這里就不再贅述。

擴(kuò)展

在實(shí)體定義過(guò)程當(dāng)中,可以看到,實(shí)體對(duì)應(yīng)的表字段主鍵系統(tǒng)可以幫助我們自動(dòng)計(jì)算出來(lái),有了主鍵,就可以實(shí)現(xiàn)表數(shù)據(jù)的更新操作,但如果要向表中插入新的數(shù)據(jù),就需要指定主鍵生成機(jī)制。
通過(guò)情況下,主鍵有用戶自定義與自增長(zhǎng)兩種類型。用戶自定義的主鍵又可以分為頁(yè)面中用戶手工輸入主鍵;后臺(tái)業(yè)務(wù)代碼生成主鍵;數(shù)據(jù)庫(kù)表自增長(zhǎng)類型的主鍵。在Rapido當(dāng)中,默認(rèn)提供了自增長(zhǎng)與自定義兩種主鍵生成方式,對(duì)于自增長(zhǎng)類型主鍵,在插入數(shù)據(jù)時(shí)會(huì)采用數(shù)據(jù)庫(kù)自增長(zhǎng)機(jī)制填充主鍵;對(duì)于自定義主鍵生成方式,Rapido默認(rèn)提供了基于UUID的主鍵生成機(jī)制。在實(shí)際應(yīng)用開(kāi)發(fā)當(dāng)中,我們可能需要其它類型的自定義主鍵生成方式,比如Oracle數(shù)據(jù)庫(kù)中的sequence機(jī)制等,在這種情況下我們就可以通過(guò)實(shí)現(xiàn)IGenerator接口,來(lái)定義屬于我們自己的主鍵生成方式,IGenerator接口內(nèi)容如下:
package com.bstek.bdf2.rapido.key;
import java.util.Map;
/**
 * 定義主鍵生成器
 * @author jacky.gao@bstek.com
 * @since 2012-7-16
 */
public interface IGenerator<T> {
 /**
 * 用于顯示的描述
 * @return 返回描述信息
 */
 String desc();
 /**
 * 產(chǎn)生一個(gè)唯一的用于填充主鍵的ID值,唯一的參數(shù)是一個(gè)Map,其中一定包含的參數(shù)有如下三個(gè):<br>
 * 1.entityTableName:當(dāng)前操作的表名,<br>
 * 2.entityFields:當(dāng)前表對(duì)應(yīng)實(shí)體定義時(shí)包含的字段,<br>
 * 3.entityTablePrimaryKeys:當(dāng)前表在定義實(shí)體時(shí)設(shè)置的主鍵名,多個(gè)主鍵字段名之間采用逗號(hào)分隔(,),<br>
 * 以上三個(gè)在Map中包含的參數(shù),可以在生成唯一ID時(shí)可以選擇性的使用,<br>
 * 除以上三個(gè)參數(shù)包,其中還包含所有在客戶端動(dòng)態(tài)添加進(jìn)來(lái)的參數(shù)
 * @param map 數(shù)據(jù)提交中所帶的各種參數(shù)
 * @return 返回的的UUID值
 */
 T execute(Map<String,Object> map);
}
接口實(shí)現(xiàn)類編寫(xiě)完成之后,我們需要將其配置到Spring上下文環(huán)境當(dāng)中,這樣在實(shí)體頁(yè)面配置實(shí)體時(shí),在自定義方式主鍵生成機(jī)制下,就可以看到
這個(gè)實(shí)現(xiàn)類信息。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)