zoukankan      html  css  js  c++  java
  • mybatis调用mysql存储过程

    返回类似 select *from 的做法
    过程:
    create procedure selectAll()
    BEGIN
    select * from user;
    end

    xml配置:
    <select id="selectall" resultType="map" statementType="CALLABLE">
    {call selectAll()}
    </select>

    java配置:
    //service层调用
    List<Map<String, Object>> ss = accountMapper.selectall();
    //DAO调用
    public List<Map<String,Object>> selectall();

    Sql代码
    -- --------------------------------------------------------------------------------
    -- Routine DDL
    -- Note: comments before and after the routine body will not be stored by the server
    -- --------------------------------------------------------------------------------
    DELIMITER $$

    CREATE DEFINER=`root`@`localhost` PROCEDURE `selectCount`(
    IN pcsId int,
    IN drId int,
    IN partnerId int,
    IN customerId int,
    OUT pcsCount int,
    OUT drCount int

    )
    BEGIN

    select count(md.id) into @pcsC from mdm_device md
    left join mdm_device_security mds on mds.device_id = md.id
    where mds.device_rooted = pcsId
    and md.partner_id = partnerId and md.customer_id = customerId;
    set pcsCount = @pcsC;


    select count(md.id) into @drC from mdm_device md
    where md.managed_status = drId and DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(md.un_manage_date)
    and md.partner_id = partnerId and md.customer_id = customerId;
    set drCount = @drC;



    END


    1.java调用传入MAP。获取通过MAP获取。
    1.1 mapper文件写法
    Xml代码
    <parameterMap type="map" id="homeVO">
    <parameter property="pcsId" jdbcType="INTEGER" mode="IN"/>
    <parameter property="drId" jdbcType="INTEGER" mode="IN"/>
    <parameter property="partnerId" jdbcType="INTEGER" mode="IN"/>
    <parameter property="customerId" jdbcType="INTEGER" mode="IN"/>
    <parameter property="pcsCount" jdbcType="INTEGER" mode="OUT"/>
    <parameter property="drCount" jdbcType="INTEGER" mode="OUT"/>
    </parameterMap>
    <select id="selectForHome" parameterMap="homeVO"
    statementType="CALLABLE">
    {call selectCount(
    ?,?,?,?,?,?
    )}
    </select>
    1.2 java调用写法
    Java代码
    @Override
    public StringselectHomeCount(HomeVO home) throws Exception {
    Map<String, Object> map = new HashMap<String, Object>();
    map.put("pscId", 0);
    map.put("drId", 1);
    map.put("partnerId", 25);
    map.put("customerId", 50);
    map.put("isolation", 1);
    selectOne("Mapper.selectForHome", map);
    System.out.println(map.get("pcsCount"));

    return map.get("drCount");
    }

  • 相关阅读:
    马化腾:办公用QQ休闲用微信[Dream Catchers论坛]
    wordpress无法安装这个包。: PCLZIP_ERR_MISSING_FILE (-4) : Missing archive file 'C:WINDOWSTEMP/wordpress-4.tmp'
    如何精准化的做微信公众号运营?
    图像处理(卷积)作者太棒了
    What is an eigenvector of a covariance matrix?
    再谈协方差矩阵之主成分分析
    [转]浅谈协方差矩阵
    Deep Learning and the Triumph of Empiricism
    UML要点总结(一)
    Android TextView中有图片有文字混合排列
  • 原文地址:https://www.cnblogs.com/sanhuan/p/4205238.html
Copyright © 2011-2022 走看看