操作更简单 iBatis配置文件方法

开发 后端
JAVA中的iBatis配置可以很方便的对数据库进行增删改、查询,最近在用iBATIS,这里列出一些我认为比较好的iBatis配置。

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

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

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

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

<select id=\"selectIncomingTimeDebitPkg\" resultClass=\"java.util.HashMap\" parameterClass=\"CondPkgheadTo\"> 
  select B.*, FLOOR((select WORKING_DAY from NCS_BEPS_MBFE_STATUS where BRANCH_ID = #branchId:VARCHAR#) - B.CONSIGNED_DATE) AS REMAIN_DAYS  
  from NCS_BEPS_PKGHEAD B  
        where MSG_CODE = #msgCode:VARCHAR# and  
                 BRANCH_ID = #branchId:VARCHAR# and  
     package_head_pk in (select package_head_pk from ncs_beps_txn_in where   
         MSG_CODE = #msgCode:VARCHAR# and  
         BRANCH_ID = #branchId:VARCHAR# and  
         GROUP_ID = #groupId:VARCHAR#  
       <isNotNull property=\"processStatusList\"> 
       <iterate prepend=\"and\" property=\"processStatusList\" open=\"(\" close=\")\" conjunction=\"or\">       
        PROCESS_STATUS =( #processStatusList[]# )  
       </iterate> 
       </isNotNull> 
     )  
           <iterate prepend = \"and\" property = \"msgProcessStatusList\" open = \" (\" close = \") \" conjunction = \"or\">        
   MSG_PROCESS_STATUS = ( #msgProcessStatusList[]# )  
              </iterate>    
    <isNotNull property=\"searchFailStatus\" prepend=\"and\"> 
     <![CDATA[ BEPS_STATUS <> \'BACK00\' ]]> 
    </isNotNull> 
 </select>   
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.

【编辑推荐】

  1. 详细:iBatis配置实例
  2. iBATIS配置类及操作类的浅析
  3. iBATIS ParameterMap配置实例浅析
  4. iBATIS的多对多映射配置浅析
  5. iBATIS中添加DAO的配置浅析
责任编辑:佚名 来源: zxbc
相关推荐

2024-02-27 19:22:00

cookieStorCookie事件

2009-12-21 11:19:50

WCF配置文件

2025-01-20 08:30:00

2009-07-22 16:27:24

iBATIS配置类iBATIS操作类

2010-01-05 11:26:27

.net Framew

2009-07-21 11:12:00

iBATIS配置

2011-01-13 16:27:26

Linux配置文件

2011-01-19 14:00:21

2010-12-28 16:35:32

Outlook 配置文

2010-12-27 14:59:31

Outlook 配置文

2010-03-01 17:39:07

WCF Address

2010-08-02 16:58:08

Flex配置文件

2009-07-24 17:20:59

iBatis配置

2010-05-07 11:55:13

Unix操作系统

2010-01-14 16:35:42

CentOS 操作系统

2009-09-22 10:23:15

Hibernate配置

2009-06-17 14:10:30

Spring配置文件

2010-08-05 14:36:07

NFS服务

2010-05-05 16:14:09

Unix管理
点赞
收藏

51CTO技术栈公众号