mybatis注解调用存储过程
Posted cnsdhzzl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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());
以上是关于mybatis注解调用存储过程的主要内容,如果未能解决你的问题,请参考以下文章
mybatis 注解写法 多层嵌套foreach,调用存储过程,批量插入数据