weixin_37536580
weixin_37536580
采纳率21.4%
2017-12-15 06:22

mybatis如何调用oracle的函数

10

图片说明
这个是已经写好的函数,两个参数。
我应该如何在mybtis里面写,以及在java代码里面写

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

8条回答

  • p826688096 不再使用了 4年前

    XML里面:

    <parameterMap class="java.util.HashMap" id="paramId" >
    <parameter property="jobsid"    javaType="INT"     jdbcType="NUMBER"  mode="IN"/>
    <parameter property="direction"    javaType="INT"     jdbcType="NUMBER"  mode="IN"/>
    </parameterMap>
    <procedure id="updYh"  parameterMap="paramId" >
         {call FN_PP_GET_JOBINTERVAL_BY_JOBSID(?,?)}
    </procedure>
    

    JAVA里面:
    JAVA里面就是把你的两个参数封装到map里面就可以了。
    如:

        Map map = new HashMap();
        map.put("jobsid", "123");
        map.put("direction", "订单编号");
        dbDao.update(map);
    

    图片说明

    点赞 评论 复制链接分享
  • qq_33034261 qq_33034261 4年前

    可以直接在mybatis的mapper映射文件中调用函数:{#{userids,mode=OUT,jdbcType=VARCHAR} = call F_GET_ROLEIDS(#{userid,mode=IN,jdbcType=VARCHAR})}

    点赞 评论 复制链接分享
  • Mr_Huang_ning Mr_Huang_ning 4年前
  • wang873985264 三木来啦 4年前

    xml文件里面直接写调用的sql就好了

    点赞 评论 复制链接分享
  • m0_38108896 m0_38108896 4年前

    1.先在pl/sql中编写测试好自定义函数,待用。
    2.在mybatis的mapper映射文件中调用函数

    {#{userids,mode=OUT,jdbcType=VARCHAR} = call F_GET_ROLEIDS(#{userid,mode=IN,jdbcType=VARCHAR})}

    3.java中的调用
    Map map = new HashMap();
    map.put("userids", "");
    map.put("userid", 4);
    sqlSessionTemplate.selectOne("test.getUerids", map);
    String ids = (String)map.get("userids");

    点赞 评论 复制链接分享
  • littlefrog317 littlefrog317 4年前

    1.先在pl/sql中编写测试好自定义函数,待用。
    2.在mybatis的mapper映射文件中调用函数

    {#{userids,mode=OUT,jdbcType=VARCHAR} = call F_GET_ROLEIDS(#{userid,mode=IN,jdbcType=VARCHAR})}

    3.java中的调用
    Map map = new HashMap();
    map.put("userids", "");
    map.put("userid", 4);
    sqlSessionTemplate.selectOne("test.getUerids", map);
    String ids = (String)map.get("userids");

    点赞 评论 复制链接分享
  • sinat_26822813 sinat_26822813 4年前

    1.先在pl/sql中编写测试好自定义函数,待用。
    2.在mybatis的mapper映射文件中调用函数

    {#{userids,mode=OUT,jdbcType=VARCHAR} = call F_GET_ROLEIDS(#{userid,mode=IN,jdbcType=VARCHAR})}

    3.java中的调用
    Map map = new HashMap();
    map.put("userids", "");
    map.put("userid", 4);
    sqlSessionTemplate.selectOne("test.getUerids", map);
    String ids = (String)map.get("userids");
    说明:
    java.util.Map中put了userid、userids两个属性,其中userid存放了函数的输入参数,userids用于存放函数调用后的返回值。
    注:转自http://blog.csdn.net/jbgtwang/article/details/9064359

    点赞 评论 复制链接分享
  • qq371522 不知道不代表不存在 4年前

    1.先在pl/sql中编写测试好自定义函数,待用。
    2.在mybatis的mapper映射文件中调用函数

    {#{userids,mode=OUT,jdbcType=VARCHAR} = call F_GET_ROLEIDS(#{userid,mode=IN,jdbcType=VARCHAR})}

    3.java中的调用
    Map map = new HashMap();
    map.put("userids", "");
    map.put("userid", 4);
    sqlSessionTemplate.selectOne("test.getUerids", map);
    String ids = (String)map.get("userids");
    说明:
    java.util.Map中put了userid、userids两个属性,其中userid存放了函数的输入参数,userids用于存放函数调用后的返回值。
    注:转自http://blog.csdn.net/jbgtwang/article/details/9064359

    点赞 评论 复制链接分享

相关推荐