iBatis配置文件方法

来源:互联网 发布:网络中控主机技术要求 编辑:程序博客网 时间:2024/06/07 02:09
    JAVA中的iBatis配置可以很方便的对数据库进行增删改、查询,最近在用iBATIS,这里列出一些我认为比较好的iBatis配置。
  •  
    1. <select id=/"selectIncomingTimeDebitPkg/" resultClass=/"java.util.HashMap/" parameterClass=/"CondPkgheadTo/"> 
    2.   select B.*, FLOOR((select WORKING_DAY from NCS_BEPS_MBFE_STATUS where BRANCH_ID = #branchId:VARCHAR#) - B.CONSIGNED_DATE) AS REMAIN_DAYS  
    3.   from NCS_BEPS_PKGHEAD B  
    4.         where MSG_CODE = #msgCode:VARCHAR# and  
    5.                  BRANCH_ID = #branchId:VARCHAR# and  
    6.      package_head_pk in (select package_head_pk from ncs_beps_txn_in where   
    7.          MSG_CODE = #msgCode:VARCHAR# and  
    8.          BRANCH_ID = #branchId:VARCHAR# and  
    9.          GROUP_ID = #groupId:VARCHAR#  
    10.        <isNotNull property=/"processStatusList/"> 
    11.        <iterate prepend=/"and/" property=/"processStatusList/" open=/"(/" close=/")/" conjunction=/"or/">       
    12.         PROCESS_STATUS =( #processStatusList[]# )  
    13.        </iterate> 
    14.        </isNotNull> 
    15.      )  
    16.            <iterate prepend = /"and/" property = /"msgProcessStatusList/" open = /" (/" close = /") /" conjunction = /"or/">        
    17.    MSG_PROCESS_STATUS = ( #msgProcessStatusList[]# )  
    18.               </iterate>    
    19.     <isNotNull property=/"searchFailStatus/" prepend=/"and/"> 
    20.      <![CDATA[ BEPS_STATUS <> /'BACK00/' ]]> 
    21.     </isNotNull> 
    22.  </select>   
  •  

    JAVA中的iBATIS可以很方便的对数据库进行增删改、查询,最近在用iBATIS,这里列出一些我认为比较好的地方:

    1、iBatis配置:增加记录时返回随机生成的主键值:

    1. <insert id=/"insertIntoDB/" parameterClass=/"BepsContract/">  
    2.    <selectKey resultClass=/"int/" keyProperty=/"contractPk/">  
    3.    SELECT BEPS_CONTRACT_PK.NEXTVAL FROM DUAL  
    4.   </selectKey>  
    5.   insert into NCS_BEPS_CONTRACT (CONTRACT_NO,ACK_NO,PAYER_NAME,PAYER_ACCOUNT,  
    6. PAYEE_NAME,PAYEE_ACCOUNT,ACK_FLAG,DIRECTION,BRANCH_ID,  
    7. PROCESS_STATUS,CREATE_ON,CREATE_BY,MODIFY_ON,MODIFY_BY,  
    8. TYPE_ID,TYPE_DESC,CONTRACT_PK,type,SDN_STATUS,DDA_STATUS,  
    9. LOAD_FILE_NAME,TXN_REF_NO,DESTINATION,EXPIRY_DATE,PAYER_  
    10. BANKCODE,PAYER_BRANCH_CODE,PAYEE_BANKCODE,PAYEE_  
    11. BRANCH_CODE,BUYER_SUBSCRIPTION_REF,MERCHANT_ID,  
    12. TXN_CYCLE,PAYER_BANKNAME,PAYEE_BANKNAME,TXN_  
    13. AMOUNT_LIMIT,CUMULATIVE_AMOUNT_LIMIT,TXN_COUNT_LIMIT,IS_FROM_BACKEND)  
    14.      values (   
    15.      #contractNo:VARCHAR#,   
    16.      #ackNo:VARCHAR#,   
    17.      #payerName:VARCHAR#,   
    18.      #payerAccount:VARCHAR#,   
    19.      #payeeName:VARCHAR#,   
    20.      #payeeAccount:VARCHAR#,   
    21.      #ackFlag:VARCHAR#,   
    22.      #direction:VARCHAR#,   
    23.      #branchId:VARCHAR#,   
    24.      #processStatus:VARCHAR#,   
    25.      SYSDATE,   
    26.      #createBy:VARCHAR#,   
    27.      SYSDATE,   
    28.      #modifyBy:VARCHAR#,   
    29.      #typeId:VARCHAR#,   
    30.      #typeDesc:VARCHAR#,   
    31.      #contractPk:NUMERIC#,   
    32.      #type:VARCHAR#,  
    33.               #sdnStatus:VARCHAR#,   
    34.      #ddaStatus:VARCHAR#,   
    35.      #loadFileName:VARCHAR#,   
    36.      #txnRefNo:VARCHAR#,   
    37.      #destination:VARCHAR#,   
    38.      #expiryDate:DATE#,   
    39.      #payerBankcode:VARCHAR#,   
    40.      #payerBranchCode:VARCHAR#,   
    41.      #payeeBankcode:VARCHAR#,   
    42.      #payeeBranchCode:VARCHAR#,   
    43.      #buyerSubscriptionRef:VARCHAR#,   
    44.      #merchantId:VARCHAR#,   
    45.      #txnCycle:VARCHAR#,  
    46.      #payerBankname:VARCHAR#,   
    47.      #payeeBankname:VARCHAR#,   
    48.               #txnAmountLimit:DOUBLE#,   
    49.      #cumulativeAmountLimit:DOUBLE#,   
    50.      #txnCountLimit:NUMERIC#,  
    51.      #isFromBackend:VARCHAR#  
    52.   )   
    53.  </insert>  
    54.  

    2、iBatis配置:一些特殊的查询:

原创粉丝点击