import java.sql.*;
import java.util.Properties;

class TestGetDateTime{
    public static void main(String args[]){
        try{
            String url =
                "jdbc:mysql://mariadb:3306/mydb?noAccessToProcedureBodies=true";

            String jdbc = "org.mariadb.jdbc.Driver";

            Properties props = new Properties();
            props.put("retriesAllDown","5");
            props.put("autoReconnect",true);
            props.put("user", "user");
            props.put("password", "passwd");

            Class.forName(jdbc);
            Connection conn = DriverManager.getConnection(
                url, props);

            String sql = "{ call test_sp (?, ?, ?, ?, ?, ?, ?, ?, ?) }";
            CallableStatement cs = conn.prepareCall(sql);

            cs.setLong(1, 1234);
            cs.setString(2, "abcd");
            cs.registerOutParameter(3, Types.VARCHAR);
            cs.registerOutParameter(4, Types.VARCHAR);
            cs.registerOutParameter(5, Types.VARCHAR);
            cs.registerOutParameter(6, Types.TIMESTAMP);
            cs.registerOutParameter(7, Types.TIMESTAMP);
            cs.registerOutParameter(8, Types.TIMESTAMP);
            cs.registerOutParameter(9, Types.TIMESTAMP);

            cs.execute();

            String param3 = cs.getString(3);
            System.out.println("param3="+param3);

            String param4 = cs.getString(4);
            System.out.println("param4="+param4);

            String param5 = cs.getString(5);
            System.out.println("param5="+param5);

            String param6 = cs.getDate(6).toString();
            String time6 = cs.getTime(6).toString();
            System.out.println("param6="+param6+" "+time6);

            String param7 = cs.getDate(7).toString();
            String time7 = cs.getTime(7).toString();
            System.out.println("param7="+param7+" "+time7);

            String param8 = cs.getDate(8).toString();
            String time8 = cs.getTime(8).toString();
            System.out.println("param8="+param8+" "+time8);

            String param9 = cs.getDate(9).toString();
            String time9 = cs.getTime(9).toString();
            System.out.println("param9="+param9+" "+time9);

            cs.close();
            conn.close();
        }catch(Exception e){ e.printStackTrace(); }
    }
}
