首页 > 代码库 > 用JAVA调用Mysql数据库,数据存储过程的封装与调用;
用JAVA调用Mysql数据库,数据存储过程的封装与调用;
1.存储过程的封装:右键函数--新增函数--选择进程(进程是没有返回值的)或者选择函数(函数是有返回值的)
2.在这里我们选择进程--进入后点击下一步
模式中有IN(往里输入参数),OUT(往外输出参数),INOUT,在这里我们通常使用的就是IN和OUT,如果什么也不写系统默认为IN。
建立好函数之后我们既要把要执行的命令封装到函数里,例如:
注意:在写完一条语句后要加分号,参数varchar类型后要加上长度。
实例:
package com.inba.maya.cunchu; import java.util.*; import java.sql.*; public class MyCunChu { public static void main(String[] args) throws Exception{ Class.forName("com.mysql.jdbc.Driver"); Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?characterEncoDing=GBK","root",""); //注意:在调用数据库函数时关键词是 call 函数名后一定要加(),无论该函数是不是带有参数的,带参数的话一定要写参数; //调用没有参数的 //CallableStatement cs=conn.prepareCall("call TCC()"); //ResultSet rs=cs.executeQuery(); //调用有参数的 //CallableStatement cs=conn.prepareCall("call TTA(?, ?)"); //输入两个参数 //cs.setString(1, "k006"); //cs.setInt(2, 90); //ResultSet rs=cs.executeQuery(); //输出参数 CallableStatement cs=conn.prepareCall("call TDD(?, ?)"); //在这里由于我在数据库中写参数时,定义的第一个参数是IN,第二个参数是OUT,所以第一个还是要setString cs.setString(1, "k001"); //因为第二个是OUT,所以要用registerOutParameter(位置,java.sql.Types.数据类型) cs.registerOutParameter(2, java.sql.Types.INTEGER); ResultSet rs=cs.executeQuery(); //获得参数时一定要在上面执行查询完成之后 int n=cs.getInt(2); while(rs.next()){ System.out.println(n); System.out.println(rs.getString(1)+rs.getString(2)+rs.getInt(5)+rs.getDouble(3)); } conn.close(); } }
用JAVA调用Mysql数据库,数据存储过程的封装与调用;
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。