当前位置: 首页 > news >正文

全立体网站建设百度推广业务员

全立体网站建设,百度推广业务员,文山知名网站建设,网站建设的风险问题: 在使用 mybatis-plus 调用sqlserver 存储过程 没有返回值 经过资料查找 注意点 此处使用Map传参,原因在于存储过程的返回值,通常在参数定义中实现,如In 入参、out 出参。 这样当执行后有结果返回时,则可以将结…

问题: 在使用 mybatis-plus 调用sqlserver 存储过程 没有返回值

经过资料查找

注意点
此处使用Map传参,原因在于存储过程的返回值,通常在参数定义中实现,如In 入参、out 出参。

这样当执行后有结果返回时,则可以将结果映射入传入的 Map对象中。

Mybatis的statementType取值:
在这里插入图片描述

获取返回值
在调用对应的存储过程sql后,返回值的获取如下:

bigScreenJobMapper.proHbjtFund(map);
String result = map.get("result");

Mybatis 使用@select注解调用带输出参数的存储过程

//@Options 必须使用 这个注解

@Options(statementType = StatementType.CALLABLE)
@Select(“{Call procdure_name(” +
“#{map.name,mode=OUT,jdbcType=INTEGER},” +
“#{map.password,mode=OUT,jdbcType=INTEGER},” +
“#{map.total,mode=OUT,jdbcType=INTEGER})}”)
void getXXXXX(Map<String,Object> map);

//调用
Map<String, Object> map=new HashMap<>();
XXXXMapper.getXXXXX(map);
Map<String, Integer> totalMap = (Map<String, Integer>) map.get(“map”);//map获取
Integer total = totalMap.get(“total”);//key值与传参时一致
Integer name= totalMap.get(“name”);
Integer password= totalMap.get(“password”);

注意点:

1、@options:statementType.CallAble 必须声明,告诉程序这是要执行存储过程,否则会报,main找不到

2、有两种方式带参:“$””#”

主要区别就是#带双引号,$不带

例如:#{id}代表’id’,${id}代表id

第二种因为传一个参数是可以省略@Param(“”)的,但是这种情况下不能使用${},

传两个参数以上时,必须要写@Param(“”)

3、 存储过程的output参数,只能通过传入的map获取参数,使用map.XXX ;

输出参数 设置mode=OUT ,jdbcType与SQL中存储过程类型一致。

4、存储过程对应的数据类型为枚举类型,需要使用大写,如VARCHAR

5、存储过程返回的结果集可直接用返回的map接收

以下是示例:
调用

    Map<String,Object> map=new HashMap<>();map.put("SID",data.getSid());map.put("SType",-1);map.put("SFlag",1);map.put("SUserAccount",RequestUtils.getUsername());baseMapper.Pr_Trans_Approve_PrBar(map);if (StringUtils.isEmpty(map.get("result"))) {throw new ErpRuntimeException("存储过程操作异常!");}else if(!StringUtils.isEmpty(map.get("result")) && map.get("result").toString().indexOf("NNNN") > -1){throw new ErpRuntimeException("失败:" + map.get("result").toString().replaceAll("N", ""));}     

Mapper 文件

    @Options(statementType = StatementType.CALLABLE)@Select("exec [dbo].Pr_Trans_Approve_PrBar "+"#{SID,mode=IN},"+"#{SType,mode=IN},"+"#{SFlag,mode=IN},"+"#{SUserAccount,mode=IN},"+"#{result,mode=OUT,jdbcType=VARCHAR}")void Pr_Trans_Approve_PrBar(Map<String,Object> request);
http://www.dt0577.cn/news/39917.html

相关文章:

  • 除了阿里巴巴还有什么网站做外贸的河南网站推广优化排名
  • 高新区规划建设局网站私人做网站
  • 模板之家网页模板网站建设seo
  • 广东备案网站个人网站的制作
  • 织梦cms网站更新百度优化教程
  • 简速做网站工作室链接买卖是什么意思
  • 做暧暖ox免费视频网站网络公司网络营销推广方案
  • c 怎么做网站开发2345网址导航官方网站
  • 做地图分析的软件网站链网
  • 哈尔滨网站建设 seo宁波网站推广优化
  • 电子元器件网站建设市场营销计划
  • 简述网站建设的基本流程seo平台是什么意思
  • 做网站优化竞价区别广州seo网站推广
  • 网站优化我自己可以做吗百度一下电脑版网页
  • 微信网站怎么做的好名字吗流量精灵官网
  • 免费域名网站建设销售网站有哪些
  • 做网站的体会苏州关键词优化排名推广
  • 成功网站运营案例网站建设找哪家公司好
  • 淘客app定制开发茂名百度seo公司
  • 商务服饰网站建设seo技术优化
  • 做搜狗手机网站优化友情链接检索数据分析
  • 健康网站模板2022年新闻热点事件
  • 郑州小型网站制作公司长沙seo网站管理
  • 网站建设加盟培训电商培训内容
  • 浏览器网站设置在哪里重大新闻事件2023
  • 建一个私人彩票网站今日热点新闻排行榜
  • dedecms转换wordpress方法品牌推广百度seo
  • 做网站赚大钱信息流广告代理商排名
  • 高乐雅官方网站 哪个公司做的seo如何优化的
  • 网站界面需求网络营销经典案例