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

Tesla Pi Phone: Is This the Next Super-Phone? Full Review & Details

What Is the Tesla Pi Phone?   Imagine if Tesla, the company that makes famous…

2 weeks ago

Tailwind CSS Inventory Management POS Project (Free Source Code)

Inventory Management POS systems are now an essential part of modern businesses such as bookshops,…

1 month ago

Build Simple Water System Calculator in Java Using Swing

If you're just beginning to learn Java GUI programming creating an Water System Calculator is a fantastic project for…

5 months ago

GitHub Copilot vs Microsoft Copilot Best AI Tool to Use in 2025

GitHub is a powerful tool used by teams and developers around the globe. This guide is…

6 months ago

Chat with Claude AI Free – Your Super-Smart AI Buddy

It's like having a super-smart buddy that is always there to help you write stories,…

6 months ago

Best Festivals UK 2025 [Free Guide Included]

The UK is known for its rich history, diverse culture, and most of all  its…

6 months ago