• java代码在ibatis里调用存储过程配置


             java代码在ibatis里调用存储过程配置和其他sqlMap调用没什么区别,只是在sql里的写法不同

    如下:

    <procedure id="findProcedure" resultMap="payMap" parameterClass="pay">
       <![CDATA[
          {call p_personal_pay (#beginDate:VARCHAR#, #endDate:VARCHAR#, #modeKey:INTEGER#, #tranNo:VARCHAR#, #paId:INTEGER#, #paName:VARCHAR#, #payState:CHAR#, #firstResult:INTEGER#, #pageSize:INTEGER#, #totalCount:INTEGER#)}
       ]]>
    </procedure>

    总结: 

         表示为:   <![CDATA[  {call    存储过程名 (参数1,参数2.。。。。。参数n)} ]]>

    获得out返回值,需要配置参数列表,如:

     <parameterMap id="loginQuery" class="com.shunwang.passport.inteface.pojo.LoginQuery">
            <parameter property="memberName" jdbcType="VARCHAR"
                javaType="java.lang.String" mode="IN" />
            <parameter property="memberPwd" jdbcType="VARCHAR"
                javaType="java.lang.String" mode="IN" />
            <parameter property="loginFrom" jdbcType="VARCHAR"
                javaType="java.lang.String" mode="IN" />
            <parameter property="clientIp" jdbcType="VARCHAR"
                javaType="java.lang.String" mode="IN" />
            <parameter property="memberId" jdbcType="INTEGER"
                javaType="java.lang.Integer" mode="OUT" />
        </parameterMap>

    <procedure id="subLoginWeb"  parameterMap="loginQuery">
       <![CDATA[
          {call dbo.p_member_logon_web(?,?,?,?,?)}
       ]]>
    </procedure>

    Java代码:

    public int callSubSiteLoginStorage(LoginQuery query){
      getSqlMapClientTemplate().queryForObject(getStatementNameWrap("subLoginWeb"),query);
        return query.getMemberId();
     }

  • 相关阅读:
    【BZOJ】4671: 异或图
    【LOJ】#2035. 「SDOI2016」征途
    【UOJ】#37. 【清华集训2014】主旋律
    【LOJ】#2320. 「清华集训 2017」生成树计数
    【LOJ】#2290. 「THUWC 2017」随机二分图
    【LOJ】#2291. 「THUSC 2016」补退选
    【LOJ】 #2545. 「JXOI2018」守卫
    【LOJ】#2292. 「THUSC 2016」成绩单
    【LOJ】#2562. 「SDOI2018」战略游戏
    《linux 内核全然剖析》sched.c sched.h 代码分析笔记
  • 原文地址:https://www.cnblogs.com/alaricblog/p/3278337.html
Copyright © 2020-2023  润新知