Programando con Café

Programando con Café es el lugar de encuentro de todos sus tutoriales de programación que usted necesita en diferentes lenguajes de programación y base de datos

viernes, octubre 29, 2010

Java - Varargs con MessageFormat - Insertar registro a BD desde Java con MySQL


"Si usa algún código del siguiente tutorial, den el icono de ME GUSTA del Facebook que se encuentra en su mano derecha, para que se vuelva Seguidor del Blog y también comentenos que tal les pareció el tutorial"


En alguna ocasiones hemos tenido la necesidad de pasar mas de un valor en un método, y para hacerlo tuvimos que crear una arreglo o una colección . Pero apartir de la versión 1.5 del JDK java nos introdujo un nuevo concepto, los Varargs, que son como una especie de colección que se agrega a la declaración de parámetros de un método para poder insertar datos dinamicamente.
En el ejemplo que verán a continuación se usan los Varargs para que en una consulta del tipo Statement se pueda comportar como un PreparedStatement. En la primera columna de la tabla empleado se guarda el Codigo que es del tipo Int y en la segunda y tercera se guardar el nombre y el apellido que son del tipo Varchar(50)

public static String insertarEmpleado(Object... params) {
        String mensaje = "";
        Connection cn = null;
        Statement st = null;
        String sql = MessageFormat.format("INSERT INTO EMPLEADO VALUES({0},''{1}'',''{2}'')", params);
        try {
            Class.forName("com.mysql.jdbc.Driver");
            cn = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "clave");
            st = cn.createStatement();
            mensaje=st.executeUpdate(sql)==1?"Se inserto al empleado de forma correcta":"No se pudo insertar al empleado";
        } catch (Exception ex) {
            mensaje = ex.getMessage();
        } finally {
            try {st.close();} catch (Exception ex) {}
            try {cn.close();} catch (Exception ex) {}
        }
        return mensaje;

}
public static void main(String[] args) {
   System.out.println(insertarEmpleado(1,"NOMBRE","APELLIDO"));
}