读书人

简略使用MySQL的存储过程

发布时间: 2013-03-13 10:56:58 作者: rapoo

简单使用MySQL的存储过程

MySQL5.0版本引进了存储过程的概念。存储过程可以提高执行效率,更容易维护。

在没有存储过程(procedure)概念之前,通常的业务逻辑sql代码有时很长,它们一般被嵌入在宿主语言(比如Java)中,非常不便于维护,而有了存储过程,它们被定义在数据库端,并且进行了预编译。而且业务逻辑SQL代码无需在网络中传输,减轻了网络负担。可以说存储过程的优点大于它的缺点。

下面实现一个简单的加法存储过程。

CallableStatement cstmt = conn.prepareCall("call pr_add(?,?)");cstmt.setInt(1,10);cstmt.setInt(2, 20);ResultSet rs = cstmt.executeQuery();

输出:

30


原理:首先创建SQL字符串,即 "call pr_add(?,?)" ,调用存储过程用call命令,call命令后跟存储过程名字,两个问号是占位符。

使用Connection对象创建CallableStatement对象,即 conn.prepareCall(sql); 该方法接受一个字符串,代表一个sql语句。

再用CallableStatement对象的executeQuery()执行SQL语句,返回一个ResultSet对象。

利用ResultSet对象遍历得到的数据。


读书人网 >Mysql

热点推荐