Java

Stored Procedure with Parameters using Jdbc

Callable statement consist of three parameters  we used the form with a result parameter, which means that we must set it as an OUT parameter.

To clarify I have numbered the parameters:

Authors is Stored procedure name it takes three parameters.i clearly explain below.

{call authors(?,?,?)}
                      1 2 3
                      In out

 

CREATE PROCEDURE authors (p_auth_id varchar(15), OUT p_auth_fname varchar(20), OUT p_auth_lname varchar(20))

Above example takes the first one in IN parameter, the second and third are OUT parameters and returns a result.

Therefore the correct way to call it is:

Create a CallableStatement object to call the store procedure.

 CallableStatement stat1 = con.prepareCall(“{call authors(?,?,?)}”);

CallableStatement stat1 = con.prepareCall("{call authors(?,?,?)}");
stat1.setString(1, "1");
stat1.registerOutParameter(2,Types.VARCHAR);
stat1.registerOutParameter(3,Types.VARCHAR);

Parameter 1 is an IN-only parameter the stored procedure doesn’t return any other value besides the OUT-parameters.

To read the result from the OUT-parameters we also have to adapt the parameter numbers:

System.out.println(stat1.getString(2));
System.out.println("   ");
System.out.println(stat1.getString(3));

i have attach the full Code below.

import java.sql.*;

public class JdbcFind {

 public static void main(String[] args)
 {
      Connection con=null;
   try {
    Class.forName("com.mysql.jdbc.Driver");
    con = DriverManager.getConnection("jdbc:mysql://localhost/abclibrary", "root",""); 
           CallableStatement stat1 = con.prepareCall("{call authors(?,?,?)}");  
           stat1.setString(1, "2");
           stat1.registerOutParameter(2,Types.VARCHAR);
           stat1.registerOutParameter(3,Types.VARCHAR);
    stat1.execute();
    System.out.println(stat1.getString(2));
    System.out.println("   ");
    System.out.println(stat1.getString(3));
    
    }
       catch(ClassNotFoundException cle)
    {
    System.out.println("check your jdbc connection" );
    }
        catch(SQLException sqe)
    {
    System.out.println("Check connection" +sqe);
    }
        finally
         {
        try{
      if(con != null)
      con.close();
      }
        catch(Exception e)
        {
         e.printStackTrace();
        }
     }
  } 
}

I have attached the video tutorial below it will help you  to do this  step by step.

 

 

 

admin

Recent Posts

ChatGPT Free Online Download the ChatGPT App Easily

Have you ever wanted to talk to a friendly, smart robot that helps you with…

1 week ago

Free GPT Chat? DeepSeek AI Does It Better

DeepSeek AI is becoming a friendly and powerful new tool in the world of artificial…

2 weeks ago

Spring Boot MySQL Complete CRUD REST API [ Free Sourecode ]

Do you want to become an expert in Spring Boot CRUD operations? This comprehensive tutorial…

3 weeks ago

CREATE Responsive Navigation Bar with FlexBox CSS!

Modern websites must have a navigation bar that is clear and responsive. FlexBox CSS is…

1 month ago

Registration with image upload Java Jdbc(Download Source code)

Introduction In this section, we will guide you step by step in the development of an image upload registration system in Java using MySQL and JDBC. In the application, users register…

2 months ago

Touchable shop Pos system using Java

The Touchable Shop POS (Point of Sale) system is a sophisticated software solution developed using…

3 months ago