iBatis配置文件方法

  • 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配置:一些特殊的查询:

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭