psid mysql_mysql存储过程
数据库的存储过程可以减少程序代码的重复性,使程序更加简洁易懂
最近在学习mysql存储过程中遇到了一些有趣的问题:
1、在写存储过程的时候,存储过程名后面一定要加上括号,就算没有参数也要加,不然就会报错
2、在调用存储过程时,没有参数的存储过程可以加括号也可以不加括号
3、由于mysql是不区分大小写的,这点跟SQL不一样。所以在给存储过程入参起名字的时候不要以列名的小写字母来取,不然就会出现原本是更改或操作一条记录的,结果则修改了整个表
1 create procedure update_name(IN name varchar(20), IN id INT)2 begin
3 updatestudent4 set sname=name where ID=id;5 end
这段代码本应该修改一条记录,结果会把整个表的记录都修改。由于不区分大小写,所以ID=id一直为真。
4、在mybatis程序中调用存储过程的主要代码:
无参的存储过程调用比较简单:
1
2
5
这里的id一定要与接口中一样。
有参数的存储过程调用有两种方法:
第一种:
xml中:
1
2
5
dao层接口中:
1 void updateNameById(@Param("id")int id,@Param("name")String psid);
参数名必须对应,不要会出现绑定失败的错误。
第二种:
XML中:
1
2
3
4
5
6
7
8
11
dao层接口中:
1 void updateNameById(MAP map);
这里的parameterMap的参数名不能为空,不然会出错
5、在调用返回结果集的存储过程时,应该有对应的ResultMap,该参数也不能为空,不然会出现莫名其妙的错误。服务器在启动时不会发现这个错误,但是在测试时会出现
程序中的Mapper之间莫名其妙的不对应,照成原因 是Result Map 没有值 在出现错去的Mapper中。
原文:http://www.cnblogs.com/John-Lyn/p/3835430.html
psid mysql_mysql存储过程相关推荐
- select 存储过程 mysql_MySQL存储过程无法使用SELECT(基本问题)
我正在使用一个平台(perfectforms),它要求我在大多数查询中使用存储过程,并且从未使用过存储过程,我无法弄清楚我做错了什么.以下语句执行时没有错误: DELIMITER // DROP PR ...
- definer mysql_mysql存储过程的definer和invoker
[存储过程的权限] ALTER ROUTINE 编辑或删除存储过程 CREATE ROUTINE 创建存储过程 EXECUTE运行存储过程 [存储过程的创建语法] delimiter // -- ...
- definer mysql_mysql 存储过程中definer和invoker详解
[存储过程的权限] ALTER ROUTINE 编辑或删除存储过程 CREATE ROUTINE 创建存储过程 EXECUTE运行存储过程 [存储过程的创建语法] delimiter // -- ...
- psid mysql_MySQL数据双向同步解决方案(推荐)
MySQL数据双向同步解决方案(推荐) 1. mysql数据同步实现原理 即读写操作在两台服务器上进行,每台服务器即主也是从.当其中的任何一台服务器收到操作请求时,其进行相应的数据变化,并把变化的数据 ...
- sqlserver的存储过程mysql_mysql,sqlserver存储过程的创建及执行
mysql,sqlserver存储过程的创建及执行 sqlserver: 创建不带参数的存储过程: CREATE PROCEDURE 'ProName' AS SELECT * FROM [dbo]. ...
- 实验6 存储过程mysql_MySQL数据库实验:任务六 数据库存储过程设计
任务六 数据库存储过程设计 文章目录 任务六 数据库存储过程设计 [实训目的与要求] [实训原理] [实训步骤] 一.定义.调用存储过程 1.创建不带参数的存储过程 2.创建带输入参数的存储过程 3. ...
- hql调用mysql存储过程_hibernate调用mysql存储过程
在mysql中创建两个存储过程,如下: 1.根据id查找某条数据: 1 CREATE PROCEDURE `findEmpById`(IN id INTEGER(11))2 begin3 s ...
- mysql 分号 存储过程_MySql 存储过程
自动增长列.字段值唯一性约束 create table aa( id int auto_increment primary key, sname varchar(32) unique ); inser ...
- 常用MySQL函数存储过程_解析MySQL存储过程、常用函数代码
mysql存储过程的概念: 存储在数据库当中可以执行特定工作(查询和更新)的一组SQL代码的程序段. mysql函数的概念: 函数是完成特定功能的SQL语句,函数分为内置函数和自定义函数(user-d ...
最新文章
- 零基础入门学习Python(2)
- mongodb update
- 正儿八经的详细讲java内部类
- github怎么删除已经发布的Releases
- 基本的二分查找、寻找第一个和最后一个数的二分查找
- 使用Java8的进来,这几个方法不香吗?
- 比特币可视化工具_这个比特币交易“可视化”网站,用一辆公交车带你“上车”...
- python交互式帮助的进入、使用和退出_python退出交互式???
- What is yield
- 字体编辑用中日韩汉字Unicode编码表
- 计算机原理与接口技术论文,微机原理与接口技术综述论文
- h桥程序控制c语言,H桥电路原理及直流电机驱动编程
- hdu 5025 Saving Tang Monk 状态压缩dp+广搜
- 参加IBM武汉分公司10周年庆
- 什么是互质数(或互素数) ?
- 转载:domain adaption
- XMU 1617 刘备闯三国之汉中之战 【BFS+染色】
- python中pop什么意思
- 2022-2028全球仿生面罩行业调研及趋势分析报告
- MySQL优化之——查询