mybatis注解调用存储过程

mapper

  @SelectProvider(type = RoleMenuSqlProvider.class,method = "updateRoleMenuRelation")
  @Options(statementType = StatementType.CALLABLE)
  HashMap updateRoleMenuRelation(HashMap<String,Object> paramMap);
SqlProvider
public String updateRoleMenuRelation(HashMap<String,String> paramMap){
        StringBuilder sb=new StringBuilder();
        sb.append("CALL updateRole(#{id,jdbcType=VARCHAR,mode=IN},#{role_id,jdbcType=VARCHAR,mode=IN},#{menu_id,jdbcType=VARCHAR,mode=IN},#{create_time,jdbcType=VARCHAR,mode=IN},#{update_time,jdbcType=VARCHAR,mode=IN},#{stamp,jdbcType=VARCHAR,mode=IN},#{version,jdbcType=INTEGER,mode=IN},#{visit_plat,jdbcType=INTEGER,mode=IN},#{visit_type,jdbcType=INTEGER,mode=IN},#{note,jdbcType=VARCHAR,mode=IN},#{is_used,jdbcType=INTEGER,mode=IN},#{result,jdbcType=INTEGER,mode=OUT});");
        return sb.toString();
    }

调用

HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("id", UUID.randomUUID().toString().replace("-", ""));
paramMap.put("role_id", role_id);
paramMap.put("menu_id", obj[i]);
Date date=new Date();
paramMap.put("create_time", DateUtil.format(date, "yyyy-MM-dd HH:mm:dd"));
paramMap.put("update_time", String.valueOf(date.getTime()));
paramMap.put("stamp", stamp);
paramMap.put("version", version);
paramMap.put("visit_plat", visitPlat);
paramMap.put("visit_type", visitType);
paramMap.put("is_used", isUsed);
paramMap.put("note", note);
paramMap.put("result", null);

HashMap hashMap = roleMenuMapper.updateRoleMenuRelation(paramMap);
Integer resultNum += Integer.valueOf(hashMap.get("result").toString());

原文地址:https://www.cnblogs.com/cnsdhzzl/p/10205383.html

时间: 2024-08-28 15:53:45

mybatis注解调用存储过程的相关文章

MyBatis学习---------调用存储过程和缓存

一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存储过程 1 create table p_user( 2 id int primary key auto_increment, 3 name varchar(10), 4 sex char(2) 5 ); 6 7 insert into p_user(name,sex) values('A',"男"); 8 insert into p_user(name,sex) values('B',&qu

MyBatis中调用存储过程和函数

一.调用存储过程 1.首先在数据库中定义存储过程,定义的存储过程的代码如下: //定义存储过程 create or replace procedure pag_add(p1 varchar2,p2 varchar2,p3 =p1+ create or replace function fun_add(p1 number ,p2 number) return number asbegin return p1+p2;end;   2.通过接口映射Sql,定义接口 package cn.et.myba

MyBatis入门学习教程-调用存储过程

一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存储过程 1 create table p_user( 2 id int primary key auto_increment, 3 name varchar(10), 4 sex char(2) 5 ); 6 7 insert into p_user(name,sex) values('A',"男"); 8 insert into p_user(name,sex) values('B',&qu

mybatis调用存储过程

最近在研究mybatis调用存储过程,发表一下自己的学习心得 其中最好用的就是通过map传值,结果还用这个map接收,因为map是一个非常强大的东西,有时候存储过程要操作多张表. 比如说:往多张表插入数据,用JavaBean的方式就很难做到,参数对应多个实体类不好解决,用map就能完美的解决这个问题. Map<String, Object> map=new HashMap<String, Object>把需要的参数往里面一放,就能很容易解决问题 dao层(dao接口),在dao接口

MyBatis学习总结(六)——调用存储过程(转载)

孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(六)--调用存储过程 一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存储过程 1 create table p_user( 2 id int primary key auto_increment, 3 name varchar(10), 4 sex char(2) 5 ); 6 7 insert into p_user(name,sex) values('A',"男");

MyBatis学习总结_06_调用存储过程

一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存储过程 1 create table p_user( 2 id int primary key auto_increment, 3 name varchar(10), 4 sex char(2) 5 ); 6 7 insert into p_user(name,sex) values('A',"男"); 8 insert into p_user(name,sex) values('B',&qu

mybatis 调用存储过程 返回游标 实例

存储过程示例: create or replace procedure Fsp_Plan_CheckPrj(v_grantno varchar2, v_deptcode number, v_cursor out sys_refcursor) is ……………… ---返回统计结果 open v_Cursor for select s.plan_code, s.plan_dept, s.plan_amount, s.exec_amount, p.cname as plan_name, d.cnam

MyBatis——调用存储过程

原文:http://www.cnblogs.com/xdp-gacl/p/4270352.html 一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存储过程 create table p_user( id int primary key auto_increment, name varchar(10), sex char(2) ); insert into p_user(name,sex) values('A',"男"); insert in

MyBatis学习总结(六)——调用存储过程

一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存储过程 1 create table p_user( 2 id int primary key auto_increment, 3 name varchar(10), 4 sex char(2) 5 ); 6 7 insert into p_user(name,sex) values('A',"男"); 8 insert into p_user(name,sex) values('B',&qu