hola tengo un problema me arroja este error: java.lang.NullPointerException
no me insertar en los campos descripcion y nombre de la imagen
(modeloImagen modeloImagen, String realPath) {
//INSERTAR EL NOMBRE DE LA IMAGEN A LA TABLA DE EMPLEADO
String insertar4 = "INSERT INTO IMAGEN(ID_IMAGEN,DESCRIPCION,IMAGEN) VALUES(?,?,?);";
String consultar1 = "SELECT MAX(ID_IMAGEN) AS ID FROM EMPLEADO;";
String consultar2 = "SELECT MAX(ID_TRABAJADOR) AS ID FROM TRABAJADOR;";
//inicializo las variables para utilizarla maxTrabajador en el momento de renombrar por el id del trabajador
int maxEmpleadoImagen = 0, maxTrabajador = 0;
int aux=0;
PreparedStatement psmt = null, psmt1 = null,psmt2=null;
ResultSet tabla1 = null,tabla2=null;
boolean insertOK = false;
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mantenimiento");
Connection con = ds.getConnection();
//consulta que toma el ultimo id de la tabla registrar imagen
if (psmt1.executeUpdate() == 1) {
psmt1 = con.prepareStatement(consultar1);
System.out.println(consultar1);
tabla1 = psmt1.executeQuery();
tabla1.next();
el valor almacenado lo asigno a maxImagen
maxImagen = tabla1.getInt(1);
aux = 1;
psmt1.close();
tabla1.close();
insertOK = true;
//inicia consulta por id max del trabajador
if (insertOK == true) {
psmt2 = con.prepareStatement(consultar2);
tabla2 = psmt2.executeQuery();
tabla2.next();
maxTrabajador = tabla2.getInt(1);
psmt2.close();
tabla2.close();
} else {
insertOK = false;
}
//inicia para registrar los datos de la tabla imagen
psmt = con.prepareStatement(insertar4);
System.out.println(insertar4);
psmt.setInt(1, maxEmpleadoImagen);
psmt.setString(2,modeloImagen.getDescripcion());
if (modeloImagen.getImagen() != null && modeloImagen.getImagen().compareTo("sinfoto.jpg") != 0) {
es donde creo ds objetos de tipo File en el cual indica la ruta y se renombra por el id max del trabajador
File file = new File(realPath + "/img/fotos/" + modeloImagen.getImagen());
File file2 = new File(realPath + "/img/fotos/" + maxTrabajador + ".jpg");
if (file2.exists()) {
file2.delete();
}
boolean success = file.renameTo(file2);
if (!success) {
}
psmt.setString(3, maxTrabajador + ".jpg");
}else {
psmt.setString(3, "sinfoto.jpg");
}
if (psmt.executeUpdate() == 1) {
insertOK = true;
aux = 1;
} else {
insertOK = false;
}
} else {
insertOK = false;
}
psmt.close();
File folder = new File(realPath + "/img/trabajadores/" + maxTrabajador);
folder.mkdir();
if (folder.isDirectory()) {
insertOK = true;
} else {
insertOK = false;
}
con.close();
} catch (Exception e) {
System.out.println(e);
}
return insertOK;
}}