【Mybatis学习】Mybatis学习之调用Mysql存储过程(1传入2输出)
来源:互联网 发布:数据字典的编写方法 编辑:程序博客网 时间:2024/06/17 16:11
Mybatis调用MySql中的存储过程(1传入2输出)
1.定义存储过程
目标数据库表结构:
存储过程:直接用语句执行总出现错误,暂时没解决,大致如下:
CREATE OR REPLACE PROCEDURE findByUname(uname VARCHAR(255),OUT sid INT,OUT rname VARCHAR(255))BEGINSELECT id,real_name into sid,rnameFROM t_student WHERE username = uname;END
利用数据库管理工具进行保存存储过程结果如下:
2.Mybatis调用存储过程
参数以Map形式传入。添加CALLABLE属性。
<parameterMap id="map1" type="java.util.Map"> <parameter property="uname" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/> <parameter property="sid" jdbcType="INTEGER" javaType="java.lang.Integer" mode="OUT"/> <parameter property="rname" jdbcType="VARCHAR" javaType="java.lang.String" mode="OUT"/> </parameterMap> <select id="findByUname" parameterMap="map1" statementType="CALLABLE"> <![CDATA[ {call findByUname(?,?,?)} ]]> </select>
3.JAVA执行方法
Mapper接口方法:
void findByUname(Map<String,Object> map );
ServiceImpl:
public void findByUname(Map<String, Object> map) { studentDao.findByUname(map);}Controller:
Map<String, Object> map = new HashMap<String,Object>(); map.put("uname","1234"); map.put("sid",null); map.put("rname",""); studentService.findByUname(map); System.out.println(map.get("sid").toString()+"__"+map.get("rname"));运行结果:
4.注意与总结
- 执行语句被CDATA包裹
- 传入、传出参数注意jdbcType类型需要与Mybatis中的typeHandler一致,否则报错
- 传入、传出参数带有mode属性,可用IN、OUT、INOUT
- Mysql传入、出的参数如果是VARCHAR需要附带字段长度,否则报错
- JAVA调用时注意传入Map时的参数形式
阅读全文
0 0
- 【Mybatis学习】Mybatis学习之调用Mysql存储过程(1传入2输出)
- MyBatis学习之调用存储过程
- Mybatis学习笔记-mybatis调用存储过程
- MyBatis学习 ——调用存储过程
- Mybatis学习笔记-调用存储过程
- 【Mybatis学习总结七】调用存储过程
- Mybatis调用mysql存储过程
- Mybatis调用mysql存储过程
- mybatis调用MySQL存储过程
- Mybatis调用MySQL存储过程
- Mybatis调用MySQL存储过程
- myBatis学习笔记(7)——调用存储过程
- MyBatis学习(5)---------调用存储过程和缓存
- MyBatis学习总结(6)——调用存储过程
- Mybatis 学习总结(八)——调用存储过程
- MyBatis学习总结(六)调用存储过程
- mybatis 调用mysql存储过程 带输出输入参数
- MyBatis—调用mysql存储过程 带输出输入参数
- FasterRCNN在ubuntu下编译走过几个小坑
- 简单的分页
- Gmapping 乱七八糟
- c-->汇编
- db_recovery_file_dest_size 修改大一点及删除归档日志
- 【Mybatis学习】Mybatis学习之调用Mysql存储过程(1传入2输出)
- 周中训练笔记17
- 2.4管理修改
- NOIP 2017 提高组游记
- 指针(一)——指针与二级指针
- java-异常
- 【测试】之认知
- 剑指offer 有环链表
- 食品行业的新科技总结