zoukankan      html  css  js  c++  java
  • 用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();
        }
    }
  • 相关阅读:
    1767:字符合并
    成绩单
    floj 2264
    floj 2265 【lxs Contest #141】航海舰队
    CF932D Tree
    1745:分组
    1744:跳台阶
    Xamarin.Forms之跨平台性能
    Xamarin.Forms之部署和测试(性能)
    Xamarin.Forms数据绑定
  • 原文地址:https://www.cnblogs.com/AnswerTheQuestion/p/6262950.html
Copyright © 2011-2022 走看看