里面包括了分页\and\ or \多表联接查询\总条数等一些查询

6 篇文章 1 订阅
2 篇文章 0 订阅

<!-- 查询所有学生医保信息  -->
   <select id="queryStudent_insure" parameterClass="com.gosoft.sms.insure.po.Insure_manPo" resultClass="com.gosoft.sms.insure.po.Insure_manPo" >
  select * from(
        select ROWNUM AS rowIndex, ID, STUDENT_NAME, SEX, CLASS_NAME, STATE, STATE_CODE, SPECIALTY_NAME, ACADEMY_NAME, ACADEMY_CODE, CLASS_CODE, GRADE, NUMBER_NO,
     STUDENT_ID, INSURE_STATE, BEGIN_DATE, END_DATE, INSURE_CODE, FEE, IS_BOOR, IS_SOCIALIZED, IS_OUTLANDER, IS_NOFEE, END_AUDITING_STATE, DEF_FEE
        from (
        select s.ID, s.STUDENT_NAME, s.SEX, s.CLASS_NAME, s.STATE, s.STATE_CODE, s.SPECIALTY_NAME, s.ACADEMY_NAME, s.ACADEMY_CODE, s.CLASS_CODE, s.GRADE, s.NUMBER_NO,
     i.STUDENT_ID, i.INSURE_STATE, i.BEGIN_DATE, i.END_DATE, i.INSURE_CODE, i.FEE, i.IS_BOOR, i.IS_SOCIALIZED, i.IS_OUTLANDER, i.IS_NOFEE, i.END_AUDITING_STATE, i.RECEIVE_STATE,
     (select FEE from T_INSURE_FEE where ROWNUM = 1) as DEF_FEE
     from S_V_STUDENTS s
        left join T_INSURE_MAN i on s.ID = i.STUDENT_ID
        left join T_CLASSES c on c.CLASS_CODE = s.CLASS_CODE
        where 1 = 1
     <dynamic>
      <isNotEmpty prepend="and" property="id">
          <![CDATA[ s.ID = #id:VARCHAR# ]]>
         </isNotEmpty>
   <isNotEmpty prepend="and" property="student_name" >
    <![CDATA[ s.STUDENT_NAME like '%'||#student_name:VARCHAR#||'%' ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="class_code" >
          <![CDATA[ s.CLASS_CODE = #class_code:VARCHAR# ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="academy_name" >
          <![CDATA[ s.ACADEMY_NAME = #academy_name:VARCHAR# ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="academy_code" >
          <![CDATA[ s.ACADEMY_CODE = #academy_code:VARCHAR# ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="class_name" >
          <![CDATA[ s.CLASS_NAME like '%'||#class_name:VARCHAR#||'%' ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="state_code" >
          <![CDATA[ s.STATE_CODE = #state_code:VARCHAR# ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="grade" >
          <![CDATA[ s.GRADE = #grade:VARCHAR# ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="insure_state" >
          <![CDATA[ nvl(i.INSURE_STATE, '-1') = #insure_state:VARCHAR# ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="insure_code" >
          <![CDATA[ (case nvl(i.INSURE_CODE, '0') when '0' then 0 else 1 end ) = #insure_code:VARCHAR#  ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="end_auditing_state" >
          <![CDATA[ i.END_AUDITING_STATE in($end_auditing_state$) ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="receive_state" >
          <![CDATA[ nvl(i.RECEIVE_STATE, '0') = #receive_state:VARCHAR# ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="ids" >
          <![CDATA[ s.ID in($ids$) ]]>
         </isNotEmpty>
         <isNotEmpty property="teacher_id" prepend="and">
    <![CDATA[ c.TEACHER_ID = #teacher_id:VARCHAR# ]]>
   </isNotEmpty>
       </dynamic>
       <dynamic prepend="and" open="(" close=")">
         <isNotEmpty prepend="or" property="is_boor" >
          <![CDATA[ i.IS_BOOR = #is_boor:VARCHAR#  ]]>
         </isNotEmpty>
         <isNotEmpty prepend="or" property="is_socialized" >
          <![CDATA[ i.IS_SOCIALIZED = #is_socialized:VARCHAR#  ]]>
         </isNotEmpty>
         <isNotEmpty prepend="or" property="is_outlander" >
          <![CDATA[ i.IS_OUTLANDER = #is_outlander:VARCHAR#  ]]>
         </isNotEmpty>
         <isNotEmpty prepend="or" property="is_nofee" >
          <![CDATA[ i.IS_NOFEE = #is_nofee:VARCHAR#  ]]>
         </isNotEmpty>
       </dynamic>
       <![CDATA[ order by s.STATE_CODE asc, s.CLASS_CODE desc, s.NUMBER_NO desc) ]]>
  <dynamic prepend="WHERE">
         <isNotEmpty property="endRowNum">
                <![CDATA[ ROWNUM <= #endRowNum#) ]]>
            </isNotEmpty>
        </dynamic>
  <dynamic prepend="WHERE">
            <isNotEmpty property="startRowNum">
                <![CDATA[ rowIndex >= #startRowNum# ]]>
            </isNotEmpty>
        </dynamic>
   </select>
   
   <!-- 获取所有学生医保信息数量  -->
   <select id="queryStudent_insureCount" parameterClass="com.gosoft.sms.insure.po.Insure_manPo" resultClass="java.lang.Long">
     select count(s.ID)
     from S_V_STUDENTS s
        left join T_INSURE_MAN i on s.ID = i.STUDENT_ID
        left join T_CLASSES c on c.CLASS_CODE = s.CLASS_CODE
        where 1 = 1
     <dynamic>
      <isNotEmpty prepend="and" property="id">
          <![CDATA[ s.ID = #id:VARCHAR# ]]>
         </isNotEmpty>
   <isNotEmpty prepend="and" property="student_name" >
    <![CDATA[ s.STUDENT_NAME like '%'||#student_name:VARCHAR#||'%' ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="class_code" >
          <![CDATA[ s.CLASS_CODE = #class_code:VARCHAR# ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="academy_name" >
          <![CDATA[ s.ACADEMY_NAME = #academy_name:VARCHAR# ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="academy_code" >
          <![CDATA[ s.ACADEMY_CODE = #academy_code:VARCHAR# ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="class_name" >
          <![CDATA[ s.CLASS_NAME like '%'||#class_name:VARCHAR#||'%' ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="state_code" >
          <![CDATA[ s.STATE_CODE = #state_code:VARCHAR# ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="grade" >
          <![CDATA[ s.GRADE = #grade:VARCHAR# ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="insure_state" >
          <![CDATA[ nvl(i.INSURE_STATE, '-1') = #insure_state:VARCHAR# ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="insure_code" >
          <![CDATA[ (case nvl(i.INSURE_CODE, '0') when '0' then 0 else 1 end ) = #insure_code:VARCHAR#  ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="end_auditing_state" >
          <![CDATA[ i.END_AUDITING_STATE in($end_auditing_state$) ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="receive_state" >
          <![CDATA[ nvl(i.RECEIVE_STATE, '0') = #receive_state:VARCHAR# ]]>
         </isNotEmpty>
         <isNotEmpty prepend="and" property="ids" >
          <![CDATA[ s.ID in($ids$) ]]>
         </isNotEmpty>
         <isNotEmpty property="teacher_id" prepend="and">
    <![CDATA[ c.TEACHER_ID = #teacher_id:VARCHAR# ]]>
   </isNotEmpty>
       </dynamic>
       <dynamic prepend="and" open="(" close=")">
         <isNotEmpty prepend="or" property="is_boor" >
          <![CDATA[ i.IS_BOOR = #is_boor:VARCHAR#  ]]>
         </isNotEmpty>
         <isNotEmpty prepend="or" property="is_socialized" >
          <![CDATA[ i.IS_SOCIALIZED = #is_socialized:VARCHAR#  ]]>
         </isNotEmpty>
         <isNotEmpty prepend="or" property="is_outlander" >
          <![CDATA[ i.IS_OUTLANDER = #is_outlander:VARCHAR#  ]]>
         </isNotEmpty>
         <isNotEmpty prepend="or" property="is_nofee" >
          <![CDATA[ i.IS_NOFEE = #is_nofee:VARCHAR#  ]]>
         </isNotEmpty>
       </dynamic>
  </select>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值