ibatis.net 中SqlMaps的xml文件的例子

时间:2023-03-09 17:34:29
ibatis.net 中SqlMaps的xml文件的例子
 <?xml version="1.0" encoding="utf-8" ?>
 <!--============================================================================
 //    CAUTION: This file is generated by lwq.IBatisNetGen.BatisMap.cst at 2015/9/9 16:10:25
 //                Any manual editing will be lost in re-generation.
 //===========================================================================
 //Name:SysAdminMap.xml
 //Author: liuweiqin
 //Description:
 //datatime:2015/9/12 12:10:28-->
 <sqlMap namespace="SysAdmin"
     xmlns="http://ibatis.apache.org/mapping"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

   <alias>
     <typeAlias alias="SysAdmin" type="YY.MicroNet.Model.SysAdmin,YY.MicroNet.Model"/>
   </alias>

   <resultMaps>
     <resultMap id="FullResultMap" class="SysAdmin">
       <result property="PKAdmin" column="PK_Admin" dbType="VarChar"/>
       <result property="PsnCode" column="PsnCode" dbType="VarChar"/>
       <result property="PsnName" column="PsnName" dbType="NVarChar"/>
       <result property="CorpCode" column="CorpCode" dbType="VarChar"/>
       <result property="CorpName" column="CorpName" dbType="NVarChar"/>
       <result property="DeptCode" column="DeptCode" dbType="VarChar"/>
       <result property="DeptName" column="DeptName" dbType="NVarChar"/>
       <result property="Email" column="Email" dbType="VarChar"/>
       <result property="DomainAccount" column="DomainAccount" dbType="NVarChar"/>
       <result property="OperaterCode" column="OperaterCode" dbType="VarChar"/>
       <result property="OperaterName" column="OperaterName" dbType="NVarChar"/>
       <result property="DEF01" column="DEF01" dbType="NVarChar"/>
       <result property="DEF02" column="DEF02" dbType="NVarChar"/>
       <result property="DEF03" column="DEF03" dbType="Int"/>
       <result property="DEF04" column="DEF04" dbType="Int"/>
       <result property="DEF05" column="DEF05" dbType="Bit"/>
       <result property="Dr" column="Dr" dbType="Bit"/>
       <result property="Ts" column="Ts" dbType="DateTime"/>
     </resultMap>
   </resultMaps>
   <parameterMaps>
     <!--这里写存储过程的参数。parameterMap中的参数个数和顺序要和存储过程中的一致。-->
     <!--如果有输出参数,输出参数这行column="idCount",必须写,而且要和存储过程中的输出参数对应-->
     <parameterMap id="pageParas" class="Hashtable">
       <parameter property="currentPage" column=""/>
       <parameter property="pageSize" column="pageSize"/>
       <parameter property="idCount" column="idCount" direction="OutPut"/>
       <!--输出参数,使用direction描述,也可以省略这个参数-->
     </parameterMap>
     <parameterMap id="pkAdmin" class="Hashtable">
       <parameter property="pk" column="pk"/>
     </parameterMap>
   </parameterMaps>
   <statements>

     <select id="SysAdmin_GetCount" resultClass="System.Int32">
       SELECT count(*) FROM [dbo].[SysAdmin]
     </select>

     <select id="SysAdmin_FindAll" resultMap="FullResultMap">
       SELECT *
       FROM [dbo].[SysAdmin]
     </select>

     <select id="SysAdmin_Find" parameterClass="String" resultMap="FullResultMap" extends="SysAdmin_FindAll">
       WHERE
       ([SysAdmin].[PK_Admin] = #PKAdmin,dbType=VarChar#)
     </select>

     <select id="SysAdmin_FindAllByCond" parameterClass="SysAdmin" resultMap="FullResultMap">
       SELECT * FROM [dbo].[SysAdmin]
       <dynamic prepend="WHERE">
         <isNotEmpty prepend="and" property="PKAdmin">
           PK_Admin=#PKAdmin#
         </isNotEmpty>
         <isNotEmpty prepend="and" property="PsnCode">
           PsnCode=#PsnCode#
         </isNotEmpty>
         <isNotEmpty prepend="and" property="PsnName">
           PsnName=#PsnName#
         </isNotEmpty>
         <isNotEmpty prepend="and" property="CorpCode">
           CorpCode=#CorpCode#
         </isNotEmpty>
         <isNotEmpty prepend="and" property="CorpName">
           CorpName=#CorpName#
         </isNotEmpty>
         <isNotEmpty prepend="and" property="DeptCode">
           DeptCode=#DeptCode#
         </isNotEmpty>
         <isNotEmpty prepend="and" property="DeptName">
           DeptName=#DeptName#
         </isNotEmpty>
         <isNotEmpty prepend="and" property="Email">
           Email=#Email#
         </isNotEmpty>
         <isNotEmpty prepend="and" property="DomainAccount">
           DomainAccount=#DomainAccount#
         </isNotEmpty>
         <isNotEmpty prepend="and" property="OperaterCode">
           OperaterCode=#OperaterCode#
         </isNotEmpty>
         <isNotEmpty prepend="and" property="OperaterName">
           OperaterName=#OperaterName#
         </isNotEmpty>
         <isNotEmpty prepend="and" property="DEF01">
           DEF01=#DEF01#
         </isNotEmpty>
         <isNotEmpty prepend="and" property="DEF02">
           DEF02=#DEF02#
         </isNotEmpty>
         <isNotNull property="DEF03">
           <isNotEmpty property="DEF03">
             <isNotEqual prepend="and" property="DEF03" compareValue="0">
               DEF03=#DEF03#
             </isNotEqual>
           </isNotEmpty>
         </isNotNull>
         <isNotNull property="DEF04">
           <isNotEmpty property="DEF04">
             <isNotEqual prepend="and" property="DEF04" compareValue="0">
               DEF04=#DEF04#
             </isNotEqual>
           </isNotEmpty>
         </isNotNull>
         <isNotEmpty prepend="and" property="DEF05">
           DEF05=#DEF05#
         </isNotEmpty>
         <isNotEmpty prepend="and" property="Dr">
           Dr=#Dr#
         </isNotEmpty>
         <isNotEmpty prepend="and" property="Ts">
           Ts=#Ts#
         </isNotEmpty>
       </dynamic>
     </select>

     <insert id="SysAdmin_Insert" parameterClass="SysAdmin">
       INSERT INTO [dbo].[SysAdmin] (
       [PsnCode]
       , [PsnName]
       , [CorpCode]
       , [CorpName]
       , [DeptCode]
       , [DeptName]
       , [Email]
       , [DomainAccount]
       , [OperaterCode]
       , [OperaterName]
       , [DEF01]
       , [DEF02]
       , [DEF03]
       , [DEF04]
       , [DEF05]
       , [Dr]
       , [Ts]
       ) VALUES (
       #PsnCode,dbType=VarChar#
       , #PsnName,dbType=NVarChar#
       , #CorpCode,dbType=VarChar#
       , #CorpName,dbType=NVarChar#
       , #DeptCode,dbType=VarChar#
       , #DeptName,dbType=NVarChar#
       , #Email,dbType=VarChar#
       , #DomainAccount,dbType=NVarChar#
       , #OperaterCode,dbType=VarChar#
       , #OperaterName,dbType=NVarChar#
       , #DEF01,dbType=NVarChar#
       , #DEF02,dbType=NVarChar#
       , #DEF03,dbType=Int#
       , #DEF04,dbType=Int#
       , #DEF05,dbType=Bit#
       , #Dr,dbType=Bit#
       , #Ts,dbType=DateTime#
       )
     </insert>

     <update id="SysAdmin_Update" parameterClass="SysAdmin">
       UPDATE [dbo].[SysAdmin] SET
       [PsnCode] = #PsnCode,dbType=VarChar#
       , [PsnName] = #PsnName,dbType=NVarChar#
       , [CorpCode] = #CorpCode,dbType=VarChar#
       , [CorpName] = #CorpName,dbType=NVarChar#
       , [DeptCode] = #DeptCode,dbType=VarChar#
       , [DeptName] = #DeptName,dbType=NVarChar#
       , [Email] = #Email,dbType=VarChar#
       , [DomainAccount] = #DomainAccount,dbType=NVarChar#
       , [OperaterCode] = #OperaterCode,dbType=VarChar#
       , [OperaterName] = #OperaterName,dbType=NVarChar#
       , [DEF01] = #DEF01,dbType=NVarChar#
       , [DEF02] = #DEF02,dbType=NVarChar#
       , [DEF03] = #DEF03,dbType=Int#
       , [DEF04] = #DEF04,dbType=Int#
       , [DEF05] = #DEF05,dbType=Bit#
       , [Dr] = #Dr,dbType=Bit#
       , [Ts] = #Ts,dbType=DateTime#
       WHERE
       ([PK_Admin] = #PKAdmin,dbType=VarChar#)
     </update>
     <delete id="SysAdmin_Delete">
       DELETE FROM [dbo].[SysAdmin]
       WHERE
       ([PK_Admin] = #PKAdmin,dbType=VarChar#)
       ry

     </delete>

     <select id="findUsers" parameterClass="HashTable" resultClass="System.Data.DataSet" >
       select q.PK_Admin,q.PsnCode,q.PsnName
       from
       (select t.*, ROW_NUMBER() OVER ( ORDER BY t.PK_Admin) rn
       from
       (select a.*
       from SysAdmin a
       ) t
       ) q
       where <![CDATA[  rn <= #currentPage# * #pageSize# ]]>
       and  <![CDATA[ rn >(#currentPage# - 1) * #pageSize# ]]>
     </select>

     <select id="findCountByCondition" parameterClass="HashTable" resultClass="int" >
       select count(*)
       from
       (select t.*, ROW_NUMBER() OVER ( ORDER BY t.PK_Admin) rn
       from
       (select *  from SysAdmin) t
       ) q
       where 1=1
     </select>

     <select id="findByCondition" parameterClass="HashTable" resultClass="System.Data.DataSet" >

       <![CDATA[select q.PK_Admin,q.PsnCode,q.PsnName
       from
       ( select t.*, ROW_NUMBER() OVER ( ORDER BY t.PK_Admin) rn
       from
       (select *  from SysAdmin]]>
       <dynamic prepend="WHERE">
         <isNotEmpty prepend="and" property="finCondition">
           PK_Admin like '%$finCondition$%' OR PsnCode  LIKE   '%$finCondition$%'  OR PsnName like '%$finCondition$%'
         </isNotEmpty>
       </dynamic>
       ) t
       ) q
       where 1=1 and
       <![CDATA[  rn <= #currentPage# * #pageSize# ]]>
       and  <![CDATA[ rn >(#currentPage# - 1) * #pageSize# ]]>

       <![CDATA[
        select count(*) as total
       from
       ( select t.*, ROW_NUMBER() OVER ( ORDER BY t.PK_Admin) rn
       from
       (select *  from SysAdmin
       ]]>
       <dynamic prepend="WHERE">
         <isNotEmpty prepend="and" property="finCondition">
           PK_Admin like '%$finCondition$%' OR PsnCode  LIKE   '%$finCondition$%'  OR PsnName like '%$finCondition$%'
         </isNotEmpty>
       </dynamic>
       ) t
       ) q
     </select>

     <!--在procedure 中必须设置parameterMap属性,就是存储不带参数也需要设置-->
     <procedure id="GetPageList" parameterMap="pageParas" resultMap="FullResultMap">
       UP_GetPage
     </procedure>
     <!--存储过程返回的值要和resultMap对应-->
     <procedure id="GetOne" parameterMap="pkAdmin" resultMap="FullResultMap">
       UP_GetOne
     </procedure>
   </statements>
 </sqlMap>