2022年4月

需求:单个Excel文件读取

 public class  FileTest{
    
        public static void main(String[] args) throws SQLException {
    
        ExcelReader reader = ExcelUtil.getReader("/file.xlsx");
        List<List<Object>> readAll = reader.read();

        System.out.println(readAll.toString());
    
        }

}

需求: 本地有部分文件需要导入数据库

多文件文件存储位置: D盘

直接上代码:

public class  FileTest{

    public static void main(String[] args) throws SQLException {

        File f = new File("D://temp/result/week");
        for(File temp : f.listFiles()) {
            if(temp.isFile()) {
                System.out.println(temp.getName());
                ExcelReader  reader2= ExcelUtil.getReader(temp, 0);
                List<Map<String,Object>> readAll2 = reader2.readAll();
                for(Map<String,Object> map:readAll2){

                   Db.use().insert(
                            Entity.create("table")
                                    .set("date_week", map.get("date"))
                                   
                    );
                }
            }
        }


    }

    public static void readCsv(String[] args) throws SQLException, ParseException {
        CsvReader reader = CsvUtil.getReader();
        //从文件中读取CSV数据
        CsvData data = reader.read(FileUtil.file("D://temp/2022.csv"));
        List<CsvRow> rows = data.getRows();
        int numbers=rows.size();
        for (int i=1;i<numbers;i++) {
            CsvRow csvRow=rows.get(i);

            Db.use().insert(
                    Entity.create("table")
                            .set("year",csvRow.getRawList().get(0))
                            .set("month", csvRow.getRawList().get(0))
                           
            );
        }

    }


}

文件上传导入

大家都知道,计算机的瓶颈之一就是IO,为了解决内存与磁盘速度不匹配的问题,产生了缓存,将一些热点数据放在内存中,随用随取,降低连接到数据库的请求链接,避免数据库挂掉。需要注意的是,无论是击穿还是后面谈到的穿透与雪崩,都是在高并发前提下,比如当缓存中某一个热点key失效。

redis缓存击穿

是指某一个非常热点的key (即在客户端搜索的比较多的关键字)突然失效了,这时从客户端发送的大量的请求在redis里找不到这个key,就会去数据里找,最终导致数据库压力过大崩掉

RuoYI的列表分页查询

(1):RuoYI的列表分页查询

 TableDataInfo<OrderVo> queryPageList(){ }

  

(2):返回json字符串形式

@GetMapping("/list")
public TableDataInfo list(YshopAccount yshopAccount) {

startPage();
List<YshopAccount> list = iYshopAccountService.queryList(yshopAccount);
return getDataTable(list);

}

select class_id from table where length(class_id) <![CDATA[ <= ]]> '13' and class_id!='0'