mybatis 存储过程使用
2017-10-25 17:25
211 查看
存储过程。。暂时还不会写。
先说下使用吧
暂时使用的ORM框架就一个Mybatis就用这个讲解。
in代表的是传入的数据无法被修改。是调用时已经存在的数据。
out代表的是传入的数据只能在存储过程中被赋值,并且返回。
inout代表传入的数据可以时存在的数据也可以被修改然后返回。
其实有一个问题。
就是并没有设置返回值,那么我们要去哪里寻找这些修改后返回的数据呢。
答案只有一个。
就是你传入的对象引用,当使用这个调用过程后,你的对象引用也会相应的修改。
这是业务上的代码。
debugger看下。
第一个断点 未调用存储过程
第二个断点 调用完存储过程
所以返回的值都在你传入的对象引用里面了。。
有空在写下存储过程怎么写=-=!
先说下使用吧
暂时使用的ORM框架就一个Mybatis就用这个讲解。
<select id="isInsert" statementType="CALLABLE" parameterType="java.util.Map" > <![CDATA[ call PROC_ST_SCOPE_CHECK(#{scopeCataId,jdbcType=VARCHAR,mode=IN}, #{errNum,jdbcType=INTEGER,mode=OUT},#{errMsg,jdbcType=VARCHAR,mode=OUT}) ]]> </select>
(#{scopeCataId,jdbcType=VARCHAR,mode=IN}, #{errNum,jdbcType=INTEGER,mode=OUT},#{errMsg,jdbcType=VARCHAR,mode=OUT})这些为传入的参数。
in代表的是传入的数据无法被修改。是调用时已经存在的数据。
out代表的是传入的数据只能在存储过程中被赋值,并且返回。
inout代表传入的数据可以时存在的数据也可以被修改然后返回。
其实有一个问题。
就是并没有设置返回值,那么我们要去哪里寻找这些修改后返回的数据呢。
答案只有一个。
就是你传入的对象引用,当使用这个调用过程后,你的对象引用也会相应的修改。
Map<String, Object> param = new HashMap<String, Object>();//初始化传入数据 param.put("scopeCataId", stScopeCataId); param.put("errNum", null); param.put("errMsg", null); stScopeParamService.isInsert(param);//调用存储过程
这是业务上的代码。
debugger看下。
第一个断点 未调用存储过程
第二个断点 调用完存储过程
所以返回的值都在你传入的对象引用里面了。。
有空在写下存储过程怎么写=-=!
相关文章推荐
- 关于Mybatis 中使用Mysql存储过程的方法
- Mybatis使用篇之七:存储过程调用
- 使用MyBatis轻松实现递归查询与存储过程调用
- MyBatis入门---parameterMap的使用及调用存储过程
- java中使用jdbc和mybatis调用数据库中的存储过程和函数
- MyBatis使用MySQL存储过程
- easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)
- 使用oracle 的 PL/Sql 定时执行一个存储过程
- 使用C#创建SQL Server的存储过程
- .net 使用oracle 的存储过程有返回值也有数据集
- 存储过程介绍及asp存储过程的使用
- 存储过程的使用
- 存储过程和触发器的使用
- MySQL存储过程中使用SELECT …INTO语句为变量赋值
- MySQL存储过程中使用动态行转列
- 在SAS存储过程使用SMC中定义的逻辑库
- 使用强类型DataSet创建高效的数据访问层:存储过程输出参数的使用
- 存储过程游标注意事项——表需要使用别名,如红色字体
- 使用OPENDATASOURCE调用存储过程的问题
- ASP.NET中使用SQLSERVER的存储过程