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中调用存储过程和函数
一.调用存储过程 1.首先在数据库中定义存储过程,定义的存储过程的代码如下: //定义存储过程 create or replace procedure pag_add(p1 varchar2,p2 v ...
- mybatis/callablestatement调用存储过程mysql connector产生不必要的元数据查询
INFO | jvm 1 | 2016/08/25 15:17:01 | 16-08-25 15:17:01 DEBUG pool-1-thread-371dao.ITaskDao.callProce ...
- mysql jdbc性能优化之mybatis/callablestatement调用存储过程mysql jdbc产生不必要的元数据查询(已解决,cpu负载减少20%)
INFO | jvm 1 | 2016/08/25 15:17:01 | 16-08-25 15:17:01 DEBUG pool-1-thread-371dao.ITaskDao.callProce ...
- SpringMvc+Mybatis开发调用存储过程
<mapper namespace="com.jkw100.ssm.mapper.CustomerMapperCustom" > <!-- statementTy ...
- 在mybatis中调用存储过程的时候,不能加工语句
select count(0) from ({call pkg_business.P_ZZS_LYFPHJSKJQK ('2018-04')}) 这是错误的.
- MyBatis:MyBatis操作MySQL存储过程
一 . 数据库中创建存储过程,并查看创建结果 1.创建存储过程 DROP procedure IF EXISTS net_procedure_request; DELIMITER $$ )) BEGI ...
- 使用mybatis调用存储过程(注解形式和配置文件形式)
最近在看资料中涉及到mybatis,突然想到mysql中的视图.存储过程.函数.现将在使用mybatis调用mysql的存储过程使用总结下: 使用的环境:mybatis3.4.6,mysql 5.6, ...
- MyBatis学习总结(六)——调用存储过程(转载)
本文转载自:http://www.cnblogs.com/jpf-java/p/6013518.html 一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存 ...
- MyBatis入门学习教程-调用存储过程
一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存储过程 create table p_user( id int primary key auto_incr ...
随机推荐
- 使用StringEscapeUtils转义、反转义字符串
使用commmons-lang.jar中的字符串转义工具类org.apache.commons.lang.StringEscapeUtils转义.反转义字符串,支持CSV.HTML.JAVA.Java ...
- 【转】git示意图
- 利用 postMessage 进行数据传递 (iframe 及web worker)及问题
一 postMessage应用于主页面和iframe之间进行数据的传递 1 子iframe页面向主页面进行数据传递: // 多个子iframe需要将自己的计数统计到主页面进行数据上报 window. ...
- mysql window系统备份远程数据库到本地
使用方法:创建test.bat文件,保存以下内容,修改配置后双击打开 @echo off REM 声明采用UTF-8编码 chcp echo. echo MySQL数据库备份脚本 echo. echo ...
- layui table数据表格reload where参数保留问题
layui table数据表格reload where参数保留问题 在使用layui过程中多多少少会遇到些问题 table reload 有个坑:reload时where参数会保留上次的参数,如果用 ...
- Java ascii码值转为输出ascii码
Java ascii码值转为输出ascii码 public static void main(String[] args) { // TODO Auto-generated method stub S ...
- Linux 内存泄漏检查工具 valgrind
抄自<从零开始的JSON库教程>,先mark一下,以后再慢慢研究. ======== 引用分割线 ======== 在 Linux.OS X 下,我们可以使用 valgrind 工具(用 ...
- Git访问远程出现错误
错误示例 remote: HTTP Basic: Access denied fatal: Authentication failed for "xxx" 错误原因 由于修改了公司 ...
- mybatis原理分析学习记录,mybatis动态sql学习记录
以下个人学习笔记,仅供参考,欢迎指正. MyBatis 是支持定制化 SQL.存储过程以及高级映射的持久层框架,其主要就完成2件事情: 封装JDBC操作 利用反射打通Java类与SQL语句之间的相互转 ...
- 大数据: 完全分布式Hadoop集群-HBase安装
HBase 是一个开源的非关系(NoSQL)的可伸缩性分布式数据库.它是面向列的,并适合于存储超大型松散数据.HBase适合于实时,随机对Big数据进行读写操作的业务环境. 本文基 ...