Conexión a base de datos y Procedimiento Almacenado en JAVA
CLASE DE CONEXION
Primero crreamos nuestra clase conexion.
Primero crreamos nuestra clase conexion.
package com.sib.conexionDB;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class conexionDB {
public static String strcon_sib= "jdbc:oracle:thin:@192.168.0.250:1521:xe";
public static String user= "abc"; //Usuario de base de datos
public static String pass= "abc"; //Contraseña de base de datos
public static Connection getConnection(String strCon,String user,String pass)
throws ClassNotFoundException, SQLException {
Class.forName("oracle.jdbc.driver.OracleDriver");
//Connection conexion = DriverManager.getConnection("jdbc:oracle:thin:@localhot:1521:SID","USER","PASS");
Connection conexion = DriverManager.getConnection(strCon,user, pass);
return conexion;
}
}
LLAMAR A UN PROCEDIMIENTO ALMACENADO
Creamos nuestra clase que va a tener un meotodo simple de Login y llamara a un procedimiento en base de datos que recibe el usuario y contraseña y retorna 1 si existe el registro 0 si no exite.
package com.sib.formlogin.db;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Types;
import com.sib.conexionDB.*;
public class formLoginDB {
public int login(String login, String password)
throws ClassNotFoundException, SQLException {
int isLogin = 0;
Connection con = null;
con = conexionDB.getConnection(conexionDB.strcon_sib,
conexionDB.user_sib, conexionDB.pass_sib);
try {
CallableStatement cst = con.prepareCall("{?=call SP_LOGIN (?,?)}");
cst.registerOutParameter(1, Types.NUMERIC);
cst.setString(2, login);
cst.setString(3, password);
cst.execute();
isLogin = cst.getInt(1);
con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
con.close();
} finally {
con.close();
}
return isLogin;
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class conexionDB {
public static String strcon_sib= "jdbc:oracle:thin:@192.168.0.250:1521:xe";
public static String user= "abc"; //Usuario de base de datos
public static String pass= "abc"; //Contraseña de base de datos
public static Connection getConnection(String strCon,String user,String pass)
throws ClassNotFoundException, SQLException {
Class.forName("oracle.jdbc.driver.OracleDriver");
//Connection conexion = DriverManager.getConnection("jdbc:oracle:thin:@localhot:1521:SID","USER","PASS");
Connection conexion = DriverManager.getConnection(strCon,user, pass);
return conexion;
}
}
LLAMAR A UN PROCEDIMIENTO ALMACENADO
Creamos nuestra clase que va a tener un meotodo simple de Login y llamara a un procedimiento en base de datos que recibe el usuario y contraseña y retorna 1 si existe el registro 0 si no exite.
package com.sib.formlogin.db;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Types;
import com.sib.conexionDB.*;
public class formLoginDB {
public int login(String login, String password)
throws ClassNotFoundException, SQLException {
int isLogin = 0;
Connection con = null;
con = conexionDB.getConnection(conexionDB.strcon_sib,
conexionDB.user_sib, conexionDB.pass_sib);
try {
CallableStatement cst = con.prepareCall("{?=call SP_LOGIN (?,?)}");
cst.registerOutParameter(1, Types.NUMERIC);
cst.setString(2, login);
cst.setString(3, password);
cst.execute();
isLogin = cst.getInt(1);
con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
con.close();
} finally {
con.close();
}
return isLogin;
}
}