Aurora 데이터 가져오기 및 저장 -- datasets 편

16429 단어 Aurora 아키텍처

Datasets 소개


사용자가 서버에 데이터를 제출하든 서버가 사용자에게 데이터를 되돌려주든 모두 일정한 의미의 데이터 집합을 전송하는 것이다.이 데이터 집합은 Aurora 프레임워크에서 Datasets로 추상화되고 데이터 집합에는 여러 개의 데이터 집합이 있을 수 있으며 데이터 집합은 데이터에 대한 값(datas), 내비게이션(fields), 트리거 이벤트(event)를 제공합니다.

datasets 정의

  <a:dataSets>
            
            <a:dataSet id="PIM1010_gender" lookupCode="STUDENT_SEX"/>
            <a:dataSet id="PIM1010_department" lookupCode="PIM_DEPARTMENT"/>
            <a:dataSet id="PIM1010_base" lookupCode="PIM_BASE"/>
            <a:dataSet id="PIM1010_status" lookupCode="CHECK_IN_STATUS"/>
            
            <a:dataSet id="PIM1010_people_inf_query">
                <a:fields>
                    <a:field name="gender" displayField="code_value_name" options="PIM1010_gender"/>
                    <a:field name="department" displayField="code_value_name" options="PIM1010_department"/>
                    <a:field name="base" displayField="code_value_name" options="PIM1010_base"/>
                    <a:field name="status" displayField="code_value_name" options="PIM1010_status"/>
                    <a:field name="people_no" lovGridHeight="300" lovService="FSD.PIM1010.fsd_people_information_lov" lovWidth="600" title=" ">
                        <a:mapping>
                            <a:map from="people_no" to="people_no"/>
                            <a:map from="people_name" to="people_name"/>
                            <a:map from="telephone" to="telephone"/>
                            <a:map from="gender" to="gender"/>
                        a:mapping>
                    a:field>
                a:fields>
            a:dataSet>
             
            <a:dataSet id="PIM1010_people_inf_result" autoCount="true" autoQuery="true" fetchAll="false" model="FSD.fsd_people_information_manager" pageSize="15" queryDataSet="PIM1010_people_inf_query" selectable="true">
                <a:fields>
                    <a:field name="people_id" readOnly="true"/>
                    <a:field name="people_number" readOnly="true"/>
                    <a:field name="people_no" required="true"/>
                    <a:field name="people_name" required="true"/>
                    <a:field name="gender" displayField="code_value_name" options="PIM1010_gender" required="true" returnField="gender_code" valueField="code_value"/>
                    <a:field name="department" displayField="code_value_name" options="PIM1010_department"  required="true" returnField="department_code" valueField="code_value"/>
                    <a:field name="base" displayField="code_value_name" options="PIM1010_base"  required="true" returnField="base_code" valueField="code_value"/>
                    <a:field name="telephone"/>
                    <a:field name="email"/>
                    <a:field name="people_comment"/>
                    <a:field name="creation_date" readOnly="true"/>
                    <a:field name="status" displayField="code_value_name" options="PIM1010_status"  readOnly="true" returnField="status_code" valueField="code_value"/>
                a:fields>
            a:dataSet>
        a:dataSets>

해석

  • 서버에 요청을 보낸 후 반환된 페이지의 DataSet 생성 스크립트는 다음과 같습니다.
  • new  Aurora.DataSet(
    {“datas”:[{“user_id”:”1”,”user_name”:”HECADMIN”, “encrypted_foundation_password”:”……”}, //** record**
    {“user_id”:”2”,”user_name”:”ADMIN”, “encrypted_foundation_password”:”……”},
    ……
    ],
     “listeners”:{“update”,onUpdate, // 
               “submitsuccess”: onModifyUserSuccess,
                ……
    },
     “fields”:[{“name”:”user_id”, "databasetype":"BIGINT","datatype":"java.lang.Long","isprimarykey":true}, //field
            {"name":"user_name","databasetype":"VARCHAR","datatype":"java.lang.String",
    "prompt":"SYS_USER.ACCOUNT","readonly":true},
            {"name":"encrypted_foundation_password","databasetype":"VARCHAR","datatype":"java.lang.String",
    "insertexpression":"sys_login_pkg.md5(${@user_password})"},
            ……],
     “id”:”sys_user_edit_ds”,
     “pagesize”:10,
     ……
    }
    );
    

    1) 데이터는 DataSet을 초기화할 때의 데이터로 여러 개의 데이터 기록(record)으로 구성되어 있다.2) listeners에 현재 dataSet에 등록된 이벤트가 기록되어 있습니다.특정 동작이 발생하면 특정 이벤트에 응답합니다.3) fields에 기록된 것은 필드 수준의 메타데이터 정보입니다. 각 필드의 이름, 데이터 형식, 알림 (prompt) 등 속성입니다.Field의 정보는 DataSet 정의와 bm의field,ref-field의 정보의 총체를 집중합니다.4) DataSet 기타 정보, 예를 들어 id, pageSize,querurl 등등.
  • dataset에서 데이터의 출처는 네 가지가 있는데 여기서 우리는 한 가지만 소개하고 다른 것은 이해만 합니다. 잠시만요. 제가 맨 뒤에 놓을게요.

  • dataset 속성


    id dataSet의 id를 지정합니다 (같은 페이지에서 유일함)
    모델 지정 dataSet 대응하는 bm
    autoCreate는 dataSet을 만들 때 빈 레코드를 만들지 여부를 지정합니다(기본값은falsefalse:true:만들지 않음).
    autoQuery 페이지 불러오기가 완료되면 aax 요청 조회 데이터를 자동으로 진행할지 여부(기본값falsefalse: 조회하지 않음true: 자동 조회)
    fetchAll은 모든 데이터를 한 번에 조회할지 여부를 지정합니다. (기본값은falsefalse:true:한 번 불러오기)
    pageSize 한 번에 조회된 데이터의 갯수를 지정합니다(기본 10개)
    queryDataSet 중요한 속성으로 조회를 표시할 때 사용자가 입력할 수 있는 조회 조건의 출처입니다.
    autoCount 조회 통계 여부 (기본값truefalse: 통계 없음true: 통계 조회의 총 항목, 페이지 정보)
    canQuery 조회 가능 여부 (기본true false: 조회 불가true: 조회 가능)
    canSubmit 제출 가능 여부(기본 true false: 제출 불가true: 제출 가능)
    loadData 서버에서 데이터를 불러올지 여부(기본falsefalse: 서버에true: 서버에서 불러오지 않음)
    selectable 선택 가능 여부 (기본falsefalse:true:선택 불가)
    selectionModel 선택 모드(기본 multiple multiple: 다중 선택single: 단일 선택)
    queryUrl 조회 URL 주소
    submitUrl에서 제출한 URL 주소
    bindTarget은 대상 dataSet에 귀속됩니다. 대상 dataSet은 하위 DataSet입니다.
    bindName 바인딩된 이름
    lookupCode 값 목록의 코드
  • 모델의 URL은 기본적으로 bm에 대한 것이지만, 기본 URL을 수정해야 할 경우 (쿼리 집합의 데이터셋이 모델을 쓰지 않기 때문에 기본값은 결과 집합의 모델과 같기 때문) 또는 설정 파라미터가 필요하면queryUrl (), 결과 집합이 전달하고자 하는 파라미터는submitUrl () 을 사용할 수 있습니다.
  • ${/request/@context_path}/autocrud/test.test/query?contractno=${/parameter/@contractno}
  • ${/request/@context_path} 현재 웹 응용 프로그램의 루트를 가져옵니다.
  • autocrud, 프레임워크 내장, 프레임워크 처리 삭제 검사 메커니즘 호출;
  • test.test: 앞의test는 bm의 파일 디렉터리를 표시하고 웹-inf/classes/부터 계산합니다. 이 예는 웹-inf/classes/test/test입니다.bm;
  • query: 이 URL에 대응하는 행동을 지시합니다. 현재 총 5개가 사용 가능합니다.query 대응 조회,insert 대응 추가,update 대응 업데이트,sbatch_업데이트는 순환에 대해 삭제를 추가해야 합니다.delete는 삭제해야 합니다.execute는plsql 블록을 실행할 수 있습니다.


  • ** - 많은 조회집에서queryfrom이 조회집을 귀속해야 할 뿐만 아니라 입력상자 라벨도 귀속해야 한다는 것을 발견했습니까? -데이터 세트 내의 필드는 입력 상자의 데이터를 제어하는 것이지 다른 의미가 없습니다**

    좋은 웹페이지 즐겨찾기