Como crear procesos almacenados sin parametro en myqsl y llamarlos desde una aplicacion java?
Los procesos almacenados en bases de datos relacionales se utilizan para encapsular sentencias de SQL que se utilizan con mayor frecuencia por un equipo de trabajo, algunas veces se utiliza para guardar consultas dificiles de aprender por parte de los desarrolladores y en caso de que se les olvide ya tienen esta consulta guardada en el servidor.
para crear un procedimiento almacenado en MYSLQ utilizamos la siguiente sentecncia:
- escribimos la siguiente sentencia CREATE PROCEDURE
- sigiente de esto escribimos el nombre de nuestro proceso.
- seguido del nombre ponemos dos parentesis ( ).
- hacemos un salto de linea y escribimos nuestra consulta, registro o modificacion sql en nuestra base de datos.
- Conectamos nuestra base de datos en mysql. (como conentar una db mysql en java)
- Creamos un objeto de la clase CallableStatement c de java para llamar al proceso.
- Nuestro objeto c seria igual a lo que devolvera el metodo prepareCall de la interfaz connection utilizando nuestro objeto que conecta a la base de datos.
- Dentro el metodo preparecall escribimos la siguiente instruccion ente comillas { CALL seguido el nombre de nuestro proceso}
- Creamos un Resulset que almacenara el resultdo de nuestro proceso y lo reccorremos.
public class Consultaprepardas {
public Consultaprepardas() {
}
public static void main(String[] args) {
try {
Connection basededatos= DriverManager.getConnection("jdbc:mysql://localhost:3306/pruebas","root","");
CallableStatement mustraclientes=basededatos.prepareCall("{call miproceso}");
ResultSet r= mustraclientes.executeQuery();
while(r.next()) {
System.out.println(r.getString(2)+" "+r.getString(1));
}
} catch (SQLException e) {
System.out.println("no se ha podido conectar");
}
}
}
Comentarios
Publicar un comentario