使用 spring 引导读取 excel 文件时避免将重复项插入 MySQL

Avoid inserting duplicates into MySQL while reading an excel file using spring boot

我正在使用 spring boot 读取 Excel 文件。我读取每个 sheet 的名称并将它们插入数据库。我想在插入 sheet 的名称之前检查该名称是否已经存在。我只想插入不存在的名称。

如何避免在使用 spring 引导读取 excel 文件时将重复名称插入 MySQL?

这是我到目前为止尝试过的方法:

public void  insertIntoMysql()
    {
        try { 
            List<Field> fs=new ArrayList<Field>();
            InputStream ExcelFileToRead = new FileInputStream("IR21_Update.xlsx");
            XSSFWorkbook  wb = new XSSFWorkbook(ExcelFileToRead);  

            for(int i=0;i<wb.getNumberOfSheets();i++)
            {  TableEntity t=new TableEntity(wb.getSheetName(i), "");

        if(!te.findAll().contains(t.getEntityName()))
                {System.out.println(te.findAll().contains(t.getEntityName()));
          te.save(t);

            }}} catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }   
    }

为什么不使用 exists() 方法来代替您正在做的事情?这就是它的用途。

boolean exists(ID id)

Returns whether an entity with the given id exists.

if(!te.exits(wb.getSheetName(i))){
    TableEntity t=new TableEntity(wb.getSheetName(i), "");
    te.save(t)
}