I am saving an excel file in MySQL using a jsp in java. How do I make sure that when I save another excel file in the same database, I delete the existing file and replace it with the new one?
I enclose the class code where I read the excel and where I keep it in MySQL
public class ReadExcel2 {
public static void leerArchivoExcel2(FileInputStream inputStream) throws IOException {
XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
Sheet firstSheet = workbook.getSheetAt(0);
int con = 1;
String nombre_ant = "";
Row fila;
List<TablaJira> lst = new ArrayList<>();
TablaJira ji = null;
for (int i = 1; i < firstSheet.getLastRowNum(); i++) {
fila = firstSheet.getRow(i);
ji = new TablaJira();
for (int j = 0; j < fila.getLastCellNum(); j++) {
Cell celda = fila.getCell(j);
if (j == 0) {
if (celda == null || celda.getCellType() == Cell.CELL_TYPE_BLANK) {
break;
}
}
switch (j) {
case 0:
if (celda.getCellType() == Cell.CELL_TYPE_STRING) {
ji.setProyecto(celda.getStringCellValue());
}
// n.setNovedad(celda.getStringCellValue());
break;
case 1:
if (celda.getCellType() == Cell.CELL_TYPE_STRING) {
ji.setTipo(celda.getStringCellValue());
}
//ne.setFecha_inicio(celda.getStringCellValue());
break;
case 2:
if (celda.getCellType() == Cell.CELL_TYPE_STRING) {
ji.setClave(celda.getStringCellValue());
}
//ne.setFecha_fin(celda.getStringCellValue());
break;
case 3:
if (celda.getCellType() == Cell.CELL_TYPE_STRING) {
ji.setTitulo(celda.getStringCellValue());
}
//ne.setAño(celda.getStringCellValue());
break;
case 4:
if (celda.getCellType() == Cell.CELL_TYPE_STRING) {
ji.setNombres(celda.getStringCellValue());
// System.out.println(celda.getStringCellValue());
}
break;
case 5:
if (celda.getCellType() == Cell.CELL_TYPE_NUMERIC) {
ji.setTiempo_horas((int) celda.getNumericCellValue());
}
//else if (celda.getCellType()== Cell.CELL_TYPE_STRING){
//ne.setHoras(celda.getStringCellValue());
break;
}
}
//Se guardan los datos por cada fila
//guardarTablaNovedadEmpleado(ne);
//guardarTablaNovedades(n);
if (ji.getNombres() != null) {
lst.add(ji);
}
}
Collections.sort(lst, TablaJira.comparet);
// en este for se esta asiendo la comparacion de los nombres para reiniciar
//los id por cada nombre diferente
for (int i = 0; i < lst.size(); i++) {
String nombre = lst.get(i).getNombres();
if (nombre == null ? nombre_ant != null : !nombre.equals(nombre_ant)) {
con = 1;
lst.get(i).setPosicion(con);
nombre_ant = nombre;
} else {
con++;
lst.get(i).setPosicion(con);
}
}
lst.forEach(ReadExcel2::guardarTblJira);
}
private static void guardarTblJira(TablaJira ji) {
TablaJiraDao dao = new TablaJiraDao();
dao.insertarTablaJira(ji);
}
/* private static void guardarTablaNovedadEmpleado(TablaNovedadEmpleado ne) {
TablaNovedadEmpleadoDao dao = new TablaNovedadEmpleadoDao();
dao.insertarTablaNovedadEmpleado(ne);
}
private static void guardarTablaNovedades(TablaNovedades n) {
TablaNovedadesDao dao = new TablaNovedadesDao();
dao.insertarTablan(n);//To change body of generated methods, choose Tools | Templates.
}*/
}
and where I keep it
/**
*
* @author pcc
*/
public class TablaJiraDao {
public int insertarTablaJira(TablaJira ji) {
int bandera = 0;
Conexion con = null;
try {
con = new Conexion();
String query = "INSERT INTO tbljira (posicion , proyecto , tipo , clave , titulo , nombres , tiempo_horas) values (? , ? , ? , ? , ? , ? , ? )";
PreparedStatement st = con.getConn().prepareStatement(query);
// Empieza desde 1, cada número coresponde a la posición de cada signo de interrogación (?)
// st.setString(1, r.getNro_Documento());
st.setInt(1, ji.getPosicion());
st.setString(2, ji.getProyecto());
st.setString(3, ji.getTipo());
st.setString(4, ji.getClave());
st.setString(5, ji.getTitulo());
st.setString(6, ji.getNombres());
st.setInt(7, ji.getTiempo_horas());
bandera = st.executeUpdate();
//System.out.println ("El archivo se a guardado exitosamente");
} catch (SQLException ex) {
Logger.getLogger(TablaJiraDao.class.getName()).log(Level.SEVERE, null, ex);
} finally {
if (con != null) {
con.close();
}
}
return bandera;
}
}