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();
        }
    }
  • 相关阅读:
    Anaconda下载与安装
    短语,直接短语,句柄,素短语,最左素短语区分
    sublime text安装package control
    Json数据解析
    hbase shell命令
    Web三级联动,数据库到界面
    解决C#窗体项目在win10运行模糊的问题
    Java通过反射访问及修改类内的私有变量
    PyCharm更改.PyCharm配置文件夹存储位置
    MineCraft Forge开发mod踩坑记录
  • 原文地址:https://www.cnblogs.com/AnswerTheQuestion/p/6262950.html
Copyright © 2011-2022 走看看