zoukankan      html  css  js  c++  java
  • ibatis的xml使用

    1.alias同一别名在一个数据库中加载的config下所有xml最好出现一次,否则会报错

    <alias>
    <typeAlias alias="WODefaultReceiverModel" type="Teld.MRP.WorkOrderManagement.Models.WODefaultReceiverModel,Teld.MRP.WorkOrderManagement.Models"/>
    </alias>

    2.批量插入,传入一个List,List必须要让实体类包装起来

    如实体类:WOSCRecordsModelList包装
               WOStateChangeRecordsModelList
    <!--新增运营工单记录保存-->
        <insert id="AddWOStateChangeRecords" parameterClass="WOSCRecordsModelList">
          BEGIN
          <iterate property="WOStateChangeRecordsModelList" open="" close="" conjunction="">
            INSERT INTO dbo.WO_WorkOrderStateChangeRecords
            (WOStateChangeID, WOID, WOFlowType, WOStatesChangeNum, WOBeforeChangeReciver, WOBeforeChangeState,
            WOAfterChangeState,WOAfterChangeReciver,WOStatusChanger,WOChangeTime,WOIsNoticed,WOStateChangeReason,
            Creater,Createtime, LastModifier, LastModifyTime)
            VALUES
            (NEWID(), #WOStateChangeRecordsModelList[].WOID#, #WOStateChangeRecordsModelList[].WOFlowType#,
            #WOStateChangeRecordsModelList[].WOStatesChangeNum#, #WOStateChangeRecordsModelList[].WOBeforeChangeReciver#, #WOStateChangeRecordsModelList[].WOBeforeChangeState#,
            #WOStateChangeRecordsModelList[].WOAfterChangeState#,#WOStateChangeRecordsModelList[].WOAfterChangeReciver#, #WOStateChangeRecordsModelList[].WOStatusChanger#, GETDATE(), #WOStateChangeRecordsModelList[].WOIsNoticed#,#WOStateChangeRecordsModelList[].WOStateChangeReason#,
            #WOStateChangeRecordsModelList[].Creator#, GETDATE(), #WOStateChangeRecordsModelList[].LastModifier#,GETDATE())
          </iterate>
          END
        </insert>
    

      

    3.parameterClass的类型,如果是dictionary则必须用dynamic取值不可以直接用# #去取值,如果用# #取值,parameterClass传入用string

     <!--工单业务帮助列表数量-->
        <select id="GetWOBusinessTypeHelpCount" resultClass="int" parameterClass="System.Collections.IDictionary">
          SELECT COUNT(1) count
          FROM  WO_WorkOrderBusinessType wowobusit WITH(NOLOCK)
          LEFT JOIN WO_WorkOrderBigType wowobt WITH(NOLOCK) ON wowobusit.WOBigTypeID=wowobt.WOBigTypeID
          LEFT JOIN WO_WorkOrderWorkLevel wowowl WITH(NOLOCK) ON wowowl.WOWorkLevelID=wowobusit.WOWorkLevelID
          LEFT JOIN WO_WorkOrderWorkClassify wowowc WITH(NOLOCK) ON wowowc.WOWorkClassifyID=wowobusit.WOWorkClassifyID
          LEFT JOIN WO_WorkOrderSourceType wowost WITH(NOLOCK) ON wowost.WOSourceTypeID=wowobusit.WOSourceTypeID
          WHERE 1=1
          
          <dynamic prepend="AND">
            <isParameterPresent>
              <isEmpty property="FieldName">
                <isNotEmpty prepend="AND" property="FieldValue">
                  (wowobusit.WOBusinessTypeCode LIKE '%'+#FieldValue#+'%' OR wowobusit.WOBusinessTypeName LIKE '%'+#FieldValue#+'%')
                </isNotEmpty>
              </isEmpty>
              <isNotEmpty  property="FieldName">
                <isNotEmpty prepend="AND" property="FieldValue">
                  <isEqual property="FieldName" compareValue="Code">
                    wowobusit.WOBusinessTypeCode LIKE '%'+#FieldValue#+'%'
                  </isEqual>
                  <isEqual property="FieldName" compareValue="Name">
                    wowobusit.WOBusinessTypeName LIKE '%'+#FieldValue#+'%'
                  </isEqual>
                </isNotEmpty>
              </isNotEmpty>
            </isParameterPresent>
          </dynamic>
        </select>
     <!--运营子集工单记录条数与ID查询-->
        <select id="GetWOSubsetStateChangeRecordsCount" resultClass="WOChangeBeforeModel" parameterClass="string">
          SELECT WOID,Count(1)  RecordTotal FROM  WO_WorkOrderStateChangeRecords WITH(NOLock) WHERE WOID in (select WOID from WO_OperaionWorkOrderBills where OWOParentWOID=#WOID# and OWOState <![CDATA[!= ]]>'OWO_Completed' ) group by WOID
        </select>
  • 相关阅读:
    BugkuCtf-pwn2-exp
    Python 基础知识(一)
    C++基本语法的部分总结
    Ububtu 14.04 安装 Hadoop 2.7.3
    leetcode-Evaluate the value of an arithmetic expression in Reverse Polish Notation
    leetcode-Given a binary tree, find its minimum depth
    Java 实现 AES 加解密
    git fork代码并修改胡提交到自己的git仓库
    git使用记录_备忘
    java awt 中文乱码 显示为 方块
  • 原文地址:https://www.cnblogs.com/gao109214/p/10830045.html
Copyright © 2011-2022 走看看