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

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

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

  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>   

【编辑推荐】

  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配置文件

2010-01-05 11:26:27

.net Framew

2009-07-22 16:27:24

iBATIS配置类iBATIS操作类

2011-01-13 16:27:26

Linux配置文件

2009-07-21 11:12:00

iBATIS配置

2011-01-19 14:00:21

2010-12-28 16:35:32

Outlook 配置文

2010-08-02 16:58:08

Flex配置文件

2010-03-01 17:39:07

WCF Address

2010-12-27 14:59:31

Outlook 配置文

2010-05-07 11:55:13

Unix操作系统

2010-01-14 16:35:42

CentOS 操作系统

2010-05-05 16:14:09

Unix管理

2010-08-05 14:36:07

NFS服务

2011-03-25 17:13:37

Nagios配置文件

2009-09-22 10:23:15

Hibernate配置

2009-06-17 14:10:30

Spring配置文件

2011-02-25 16:39:34

proftpd配置文件
点赞
收藏

51CTO技术栈公众号