一杯茶,带你了解MySQL连接器
📒博客首页:铁甲小宝同学 📒
**🌞文章目的:
了解MySQL连接器
🌞**
🙏博主也在学习阶段,如若发现问题,请告知,非常感谢🙏
**💗
同时也非常感谢各位小伙伴们的支持
💗**
🌈每日一语:出发,永远是最有意义的事,去做就是了。 🌈
🍒本文参考了MySQL 5.7 参考手册🍒
文章目录
MySQL连接器的介绍
首先我们需要先知道
MySQL
连接器是什么?
mysql 的 连接器 是msyql server层的第一个模块。
我们还需要知道他的作用是什么?
负责跟客户端建立连接、获取权限、维持和管理连接。
具体步骤:
- TCP三次握手建立连接
- 连接器开始认证身份
相信一般在学过
Java
的小伙伴都应该知道
mysql-connector-java
—是
Java
操作
MySQL
的一种
MySQL连接器
。
通过它我们能编写
Java
的代码来进行对
MySQL
的操作,以便一些项目的使用!
MySQL连接器的作用
因为一些时间原因我就给大家介绍
MySQL连接器 - 使用JDBC的CallableStatements来执行存储过程
。
首先创建存储过程demoSp:
CREATEPROCEDURE demoSp(IN inputParam VARCHAR(255),INOUT inOutParam INT)BEGINDECLARE z INT;SET z = inOutParam +1;SET inOutParam = z;SELECT inputParam;SELECT CONCAT('zyxw', inputParam);END
通过上面这段代码我们可以这样理解:
IN
后跟输入参数,INOUT后面跟的是输出参数。
我们一般使用
Java
的
MySQL连接器
来存储是是来对
demoSp
的调用,那具体是怎么调用的呢?
**1.使用
Connection.prepareCall()
来准备调用语句。如下:**
CallableStatement cStmt = conn.prepareCall("{call demoSp(?, ?)}");//下标是从1开始,第一个参数是输入参数 //这句是给第一个参数赋初值
cStmt.setString(1,"abcdefg");
2、注册输出参数(如果有)
输出参数是在创建存储过程时,用OUT或INOUT修饰过的变量.
// 以下两种方式均可 // 1、注册输出参数,第二个参数是用INOUT修饰过
cStmt.registerOutParameter(2,Types.INTEGER);// 2、也可以使用这种方式进行注册参数,直接用参数变量名,而不是使用索引。
cStmt.registerOutParameter("inOutParam",Types.INTEGER);
3、注册输入参数
通过索引,设置参数
cStmt.setString(1,"abcdefg");// 也可以使用名字来设置一个参数
cStmt.setString("inputParam","abcdefg");// 使用索引设置'in/out'参数
cStmt.setInt(2,1);// 也可以使用名字来设置'in/out'参数
cStmt.setInt("inOutParam",1);
**4、执行
CallableStatement
,检索任何结果集或输出参数。**
**尽管
CallableStatement
支持调用任意的执行方法**
**
( executeUpdate() , executeQuery() 或 execute() )
,最灵活的方法是
execute()
,**
因为你不需要提前知道存储过程是否返回结果集。
......boolean hadResults = cStmt.execute();while(hadResults){ResultSet rs = cStmt.getResultSet();// 处理结果集 ....
hadResults = cStmt.getMoreResults();}// 检索输出参数 // Connector/J支持基本索引和基于名字来检索 int outputValue = cStmt.getInt(2);// 基于索引
outputValue = cStmt.getInt("inOutParam");// 基于名字......
以上就是带大家了解了MySQL连接器的介绍和作用,最后也希望对大家有帮助!那我们下期见!
版权归原作者 铁甲小宝同学 所有, 如有侵权,请联系我们删除。