SpringBoot+EasyExcel+Mybatis+H2实现导入

文章目录

  • SpringBoot+EasyExcel+Mybatis+H2实现导入
    • 1.准备工作
      • 1.1 依赖管理
      • 1.2 配置信息properties
      • 1.3 H2数据库
      • 1.4 Spring Boot 基础概念
      • 1.5 Mybatis
        • 核心概念
      • 1.6 EasyExcel
        • 核心概念
    • 2.生成Excel数据
      • 工具类-随机字符串
      • 编写生成Excel的java文件
    • 3.导入功能并且存入数据库
      • 3.1 返回结果集R
      • 3.2 实体类javabean
      • 3.3 dao数据层
      • 3.4 dao映射类
      • 3.5 服务层
      • 3.6 控制层
      • 3.7 监听器
      • 3.8 postman & 数据库情况

SpringBoot+EasyExcel+Mybatis+H2实现导入

1.准备工作

  • Spring Boot
  • Easy Excel
  • Mybatis
  • H2数据库
  • 工具类-生成随机字符串,返回结果集

1.1 依赖管理

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.6.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.geekmice</groupId><artifactId>fifth</artifactId><version>0.0.1-SNAPSHOT</version><name>fifth</name><description>fifth</description><properties><java.version>8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.4</version></dependency><!--mysql connector--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope><version>8.0.28</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!--swagger--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>2.0.7</version><exclusions><exclusion><artifactId>springfox-spring-webmvc</artifactId><groupId>io.springfox</groupId></exclusion><exclusion><artifactId>swagger-models</artifactId><groupId>io.swagger</groupId></exclusion></exclusions></dependency><!--接口平台--><dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></dependency><!--easyexcel--><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.6</version></dependency><!--h2--><dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><scope>runtime</scope></dependency><!--swagger--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>2.0.7</version><exclusions><exclusion><artifactId>springfox-spring-webmvc</artifactId><groupId>io.springfox</groupId></exclusion><exclusion><artifactId>swagger-models</artifactId><groupId>io.swagger</groupId></exclusion></exclusions></dependency><!--接口平台--><dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></dependency></dependencies></project>

1.2 配置信息properties


# mybatis
mybatis.mapper-locations=classpath:mapper/*.xml
# mybatis??
mybatis.type-aliases-package=com.geekmice.fifth.entity# h2 
spring.datasource.url=jdbc:h2:tcp://localhost/~/test
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=saspring.servlet.multipart.max-file-size=500MB
spring.servlet.multipart.max-request-size=500MB
spring.servlet.multipart.enabled=true

1.3 H2数据库

H2是开源的轻量级关系型数据库,支持内存模式、嵌入式部署及服务端模式。其特点包括:

  • 兼容性:支持SQL:2011SQ**L:2011标准,部分兼容MySQL/PostgreSQL语法
  • 高性能:内存模式下读写速度可达106106次/秒级别
  • 零配置:单一JAR包(约2.3MB2.3MB)即可运行

1.4 Spring Boot 基础概念

  1. 核心特性
    Spring Boot 通过自动配置和约定大于配置的原则简化 Spring 应用开发2
    • 自动配置:根据类路径依赖自动配置 Bean(如引入spring-boot-starter-web自动配置 Tomcat)
    • 内嵌服务器:默认集成 Tomcat(可切换为 Jetty 或 Undertow)
    • 独立运行:通过main方法直接启动应用
  2. 核心注解 @SpringBootApplication
    该注解整合了:
    • @SpringBootConfiguration:标记为配置类
    • @EnableAutoConfiguration:启用自动配置
    • @ComponentScan:自动扫描当前包及子包的组件

1.5 Mybatis

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。以下为你介绍一些 MyBatis 的基础知识:

核心概念
  1. SqlSessionFactory:这是 MyBatis 的核心对象,它是一个工厂类,用于创建SqlSession对象。
  2. SqlSession:这是一个会话对象,类似于 JDBC 中的Connection,它提供了执行 SQL 语句的方法。
  3. Mapper 接口:这是一个 Java 接口,用于定义 SQL 方法。MyBatis 会自动为这个接口生成实现类。
  4. Mapper XML 文件:用于编写 SQL 语句,也可以使用注解来替代。

1.6 EasyExcel

EasyExcel 是阿里巴巴开源的一个操作 Excel 的框架,它具有简单易用、节省内存等优点。下面为你详细介绍 EasyExcel:

核心概念
  • 读取 Excel:从 Excel 文件里读取数据,支持多种数据格式以及自定义读取逻辑。
  • 写入 Excel:把数据写入到 Excel 文件,能自定义表头、样式等。
  • 模型映射:借助 Java 对象和 Excel 表格进行映射,达成数据的自动读写。

2.生成Excel数据

工具类-随机字符串

package com.geekmice.fifth.util;
import java.util.concurrent.ThreadLocalRandom;public class ThreadLocalRandomStringGenerator {private static final String CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";public static String generateRandomString(int length) {StringBuilder sb = new StringBuilder(length);for (int i = 0; i < length; i++) {int index = ThreadLocalRandom.current().nextInt(CHARACTERS.length());sb.append(CHARACTERS.charAt(index));}return sb.toString();}public static void main(String[] args) {String randomString = generateRandomString(10);System.out.println("使用 ThreadLocalRandom 生成的字符串: " + randomString);}
}

编写生成Excel的java文件

package com.geekmice.fifth.util;import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Builder;
import lombok.Data;import java.util.ArrayList;
import java.util.Date;
import java.util.List;@Data
@Builder
class ProductDetail {/*** 产品id*/@ExcelIgnoreprivate Integer id;/*** 产品详情*/@ExcelProperty(value = "产品详情", index = 0)private String description;/*** 产品规格*/@ExcelProperty(value = "产品规格", index = 1)private String specifications;/*** 备注*/@ExcelProperty(value = "备注", index = 2)private String notes;/*** 订单时间*/@ExcelProperty(value = "订单时间", index = 3)private Date orderTime;@ExcelProperty(value = "产品id", index = 4)private Integer productId;
}public class DataExportEasyExcel {public static void main(String[] args) {generateData(10000);generateData(100000);generateData(1000000);}/*** rowCount 代表生成数据的行数*/public static void generateData(int rowCount) {// 准备数据List<ProductDetail> dataList = new ArrayList<>();for (int i = 0; i < rowCount; i++) {dataList.add(ProductDetail.builder().description(ThreadLocalRandomStringGenerator.generateRandomString(10)).specifications(ThreadLocalRandomStringGenerator.generateRandomString(4)).notes(ThreadLocalRandomStringGenerator.generateRandomString(7)).orderTime(new Date()).productId(i).build());}String fileName = null;if (rowCount == 10000) {fileName = "D:\\Files\\Idea\\applicationscenario\\fifth\\src\\main\\resources\\static\\ExcelData1w.xlsx";} else if (rowCount == 100000) {fileName = "D:\\Files\\Idea\\applicationscenario\\fifth\\src\\main\\resources\\static\\ExcelData10w.xlsx";} else if (rowCount == 1000000) {fileName = "D:\\Files\\Idea\\applicationscenario\\fifth\\src\\main\\resources\\static\\ExcelData100w.xlsx";}/*** 这行代码使用EasyExcel库的write方法来创建一个Excel文件,并将dataList中的产品数据写入到Excel文件的"sheet1"工作表中。* fileName参数指定了生成的Excel文件的保存路径和名称*/EasyExcel.write(fileName, ProductDetail.class).sheet("sheet1").doWrite(dataList);}}

image-20250430142355118

3.导入功能并且存入数据库

image-20250430142800946

3.1 返回结果集R

package com.geekmice.fifth.util;import lombok.*;
import org.springframework.http.HttpStatus;import java.io.Serializable;@ToString
@NoArgsConstructor
@AllArgsConstructor
public class R<T> implements Serializable {private static final long serialVersionUID = 1L;@Getter@Setterprivate int code;@Getter@Setterprivate String msg;@Getter@Setterprivate T data;public static <T> R<T> ok() {return restResult(null, HttpStatus.OK.value(), HttpStatus.OK.getReasonPhrase());}public static <T> R<T> ok(T data) {return restResult(data, HttpStatus.OK.value(), HttpStatus.OK.getReasonPhrase());}public static <T> R<T> ok(T data, String msg) {return restResult(data, HttpStatus.OK.value(), msg);}public static <T> R<T> failed() {return restResult(null, HttpStatus.INTERNAL_SERVER_ERROR.value(), HttpStatus.INTERNAL_SERVER_ERROR.getReasonPhrase());}public static <T> R<T> failed(String msg) {return restResult(null, HttpStatus.INTERNAL_SERVER_ERROR.value(), msg);}public static <T> R<T> failed(T data) {return restResult(data, HttpStatus.INTERNAL_SERVER_ERROR.value(), HttpStatus.INTERNAL_SERVER_ERROR.getReasonPhrase());}public static <T> R<T> failed(T data, String msg) {return restResult(data, HttpStatus.INTERNAL_SERVER_ERROR.value(), msg);}public static <T> R<T> restResult(T data, int code, String msg) {R<T> apiResult = new R<>();apiResult.setCode(code);apiResult.setData(data);apiResult.setMsg(msg);return apiResult;}}

3.2 实体类javabean

package com.geekmice.fifth.entity;import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Builder;
import lombok.Data;import java.util.Date;@Data
public class ProductDetailExcel {/*** 产品id*/@ExcelIgnoreprivate Integer id;/*** 产品详情*/@ExcelProperty(value = "产品详情", index = 0)private String description;/*** 产品规格*/@ExcelProperty(value = "产品规格", index = 1)private String specifications;/*** 备注*/@ExcelProperty(value = "备注", index = 2)private String notes;/*** 订单时间*/@ExcelProperty(value = "订单时间", index = 3)private Date orderTime;@ExcelProperty(value = "产品id", index = 4)private Integer productId;
}

3.3 dao数据层

package com.geekmice.fifth.dao;import com.geekmice.fifth.entity.ProductDetail;
import com.geekmice.fifth.entity.ProductDetailExcel;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;import java.util.List;@Mapper
public interface ProductDetailDao {int insertBatch(@Param("list") List<ProductDetailExcel> cachedStudentList);void truncate();
}

3.4 dao映射类

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.geekmice.fifth.dao.ProductDetailDao"><insert id="insertBatch" ><foreach collection="list" item="item" separator=";">insert into product_detail (specifications, description, notes, order_time,product_id)values(#{item.specifications}, #{item.description}, #{item.notes}, #{item.orderTime},#{item.productId})</foreach></insert></mapper>

3.5 服务层

package com.geekmice.fifth.service;import com.geekmice.fifth.entity.ProductDetail;
import org.springframework.web.multipart.MultipartFile;import java.io.File;
import java.io.IOException;
import java.util.List;/*** @author geekmice* @description: ProductDetailService 服务层* @date 2020/4/10*/
public interface ProductDetailService {/*** 读取临时文件并保存到数据库中* @param tempFile 临时文件*/void readAndSave(MultipartFile tempFile) throws IOException;}package com.geekmice.fifth.service.impl;import com.alibaba.excel.EasyExcel;
import com.geekmice.fifth.dao.ProductDetailDao;
import com.geekmice.fifth.entity.ProductDetail;
import com.geekmice.fifth.entity.ProductDetailExcel;
import com.geekmice.fifth.listener.ProductDetailListener;
import com.geekmice.fifth.service.ProductDetailService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;import java.io.IOException;
import java.util.List;@Service
@RequiredArgsConstructor
public class ProductDetailImpl implements ProductDetailService {private final ProductDetailDao productDetailDao;@Overridepublic void readAndSave(MultipartFile file) throws IOException {productDetailDao.truncate();EasyExcel.read(file.getInputStream(), ProductDetailExcel.class, new ProductDetailListener(productDetailDao)).sheet().doRead();}}

3.6 控制层

package com.geekmice.fifth.controller;import com.alibaba.excel.EasyExcel;
import com.geekmice.fifth.dao.ProductDetailDao;
import com.geekmice.fifth.entity.ProductDetail;
import com.geekmice.fifth.entity.ProductDetailExcel;
import com.geekmice.fifth.listener.ProductDetailListener;
import com.geekmice.fifth.service.ProductDetailService;
import com.geekmice.fifth.util.R;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;import java.io.IOException;/*** @description: ProductDetailController 商品详情控制器* @author: pmb* @date 2021/4/16* @time 10:30*/
@RestController
@RequestMapping(value = "/productDetail")
@RequiredArgsConstructor
@Slf4j
public class ProductDetailController {private final ProductDetailService productDetailService;/*** @description: 导入Excel数据*/@PostMapping(value = "/importExcel")public R importExcel(@RequestParam("file") MultipartFile file) {try {productDetailService.readAndSave(file);} catch (Exception e) {log.error("error msg 【{}】", e);e.printStackTrace();}return R.ok();}}

3.7 监听器

package com.geekmice.fifth.listener;import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.geekmice.fifth.dao.ProductDetailDao;
import com.geekmice.fifth.entity.ProductDetailExcel;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;import java.util.ArrayList;
import java.util.List;@Slf4j
@RequiredArgsConstructor
public class ProductDetailListener extends AnalysisEventListener<ProductDetailExcel> {private final ProductDetailDao productDetailDao;private static final int BATCH_SIZE = 1000;private List<ProductDetailExcel> cachedStudentList = new ArrayList<>();@Overridepublic void invoke(ProductDetailExcel student, AnalysisContext analysisContext) {
//        log.info("开始保存数据...");cachedStudentList.add(student);// 达到BATCH_COUNT了,需要去存储一次数据库,防止数据几万条数据在内存,容易OOMif (cachedStudentList.size() >= BATCH_SIZE) {saveData();cachedStudentList.clear();}}private void saveData() {
//        log.info("{}条数据,开始存储数据库!", cachedStudentList.size());productDetailDao.insertBatch(cachedStudentList);
//        log.info("存储数据库成功!");}@Overridepublic void doAfterAllAnalysed(AnalysisContext analysisContext) {// 所有数据解析完成后的操作// 例如:将数据保存到数据库saveData();
//        System.out.println("所有数据解析完成!");}public List<ProductDetailExcel> getCachedStudentList() {return cachedStudentList;}
}

3.8 postman & 数据库情况

image-20250430143306142image-20250430143342054

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/78869.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式开发高频面试题全解析:从基础编程到内存操作核心知识点实战

一、数组操作&#xff1a;3x3 数组的对角和、偶数和、奇数和 题目 求 3x3 数组的对角元素和、偶数元素和、奇数元素和。 知识点 数组遍历&#xff1a;通过双重循环访问数组的每个元素&#xff0c;外层循环控制行&#xff0c;内层循环控制列。对角元素判断&#xff1a; 主对…

分布式优化与一致性算法python实现

目录 摘要一、分布式优化问题描述二、一致性算法基础2.1 平均一致性(Average Consensus)2.2 Gossip 协议三、分布式梯度下降(DGD)四、分布式 ADMM 与共识优化五、收敛性与参数选择六、典型案例6.1 传感器网络参数估计6.1.1 问题描述6.1.2 算法设计6.1.3 实验结果6.2 分布式…

突破SQL注入字符转义的实战指南:绕过技巧与防御策略

在渗透测试中&#xff0c;SQL注入始终是Web安全的重点攻击手段。然而&#xff0c;当开发者对用户输入的特殊字符&#xff08;如单引号、反斜杠&#xff09;进行转义时&#xff0c;传统的注入方式往往会失效。本文将深入探讨如何绕过字符转义限制&#xff0c;并给出防御建议。 目…

算法导论第6章思考题

6.3-2 func(A) 1 A.heap-sizeA.len 2 \quad for i ⌊ A . l e n 2 ⌋ \lfloor {A.len\over2}\rfloor ⌊2A.len​⌋ downto 1 3 \qquad MAX-HEAPIFY(A,i) 对于第2行的循环控制变量i来说&#xff0c;为啥要求它是从 ⌊ A . l e n 2 ⌋ \lfloor {A.len\over2}\rfloor ⌊2A.len​⌋…

可商用,可离线运行,可API接口调用的开源AI数字人项目Heygem,喂饭级安装教程

前言 Heygem 是一款开源项目&#xff0c;致力于发挥你电脑硬件的全部潜力&#xff0c;让你无需依赖云端&#xff0c;也能在本地高效运行各类开源AI数字人模型。无论是 AI 语音对话、虚拟主播&#xff0c;还是数字人驱动引擎&#xff0c;Heygem 通过底层性能调度与资源管理优化&…

三个概念:DataBinding,Dependency Property 与DataTemplate

WPF 核心概念详解&#xff1a;DataBinding、Dependency Property 和 DataTemplate 1. DataBinding (数据绑定) 基本概念 DataBinding 是 WPF 的核心机制&#xff0c;用于在 UI 元素和数据源之间建立自动同步关系。 关键特性 双向绑定&#xff1a;数据变化自动反映到 UI&…

C语言教程(二十六):C 语言内存管理详解

一、C 语言内存区域划分 在 C 语言程序运行时,内存主要分为以下几个区域: 1.1 栈区(Stack) 特点:由编译器自动分配和释放,主要存储函数的局部变量、函数参数、返回地址等。栈区的内存分配和释放是按照后进先出(LIFO)的原则进行的,速度快。示例: #include <stdio.…

腾讯云服务器性能提升全栈指南(2025版)

腾讯云服务器性能提升全栈指南&#xff08;2025版&#xff09; 一、硬件选型与资源优化 1. 实例规格精准匹配 腾讯云服务器提供计算型CVM、内存型MEM、大数据型Hadoop等12种实例类型。根据业务特性选择&#xff1a; • 高并发Web应用&#xff1a;推荐SA3实例&#xff0…

决策树在电信客户流失分析中的实战应用

在当今数据驱动的时代&#xff0c;数据分析和机器学习技术在各行业的应用愈发广泛。电信行业面临着激烈的竞争&#xff0c;客户流失问题成为影响企业发展的关键因素之一。如何准确预测客户是否会流失&#xff0c;并采取相应措施挽留客户&#xff0c;是电信企业关注的重点。决策…

【HCIA】VRRP

前言 二层交换机为了破环发明了堆叠&#xff0c;把几台实际的交换机视作一个虚拟的交换机&#xff0c;实现了链路的复用和环路的破坏。那么对应到三层的路由器&#xff0c;我们有 VRRP&#xff08;Virtual Router Redundancy Protocol&#xff09;&#xff0c;它可以让路由器分…

第15讲:基础柱状图与分组柱状图美化指南

目录 🧭 一、为什么要关注柱状图的“美化”? 🧱 二、基础柱状图的构建逻辑(以 ggplot2 为例) 🎨 三、美化细节全面升级 ✅ 1. 自定义配色与透明度 ✅ 2. 添加数值标签 ✅ 3. 设置 y 轴刻度与坐标轴美学 👨‍🔬 四、分组柱状图(Grouped Bar Plot) 💎 五…

SV 仿真的常识

文章目录 SV对verilog的扩展&#x1f4d8; 标准文档名称&#xff1a; 从SV到仿真通用过程解读实例解读 SV的仿真过程并行仿真颗粒度SV仿真调度调度区域 SV对verilog的扩展 SystemVerilog 和 Verilog 的语法标准由 **IEEE&#xff08;美国电气和电子工程师协会&#xff09;**制…

苏德战争前期苏联损失惨重(马井堂)

苏德战争前期&#xff08;1941年6月22日德国发动“巴巴罗萨行动”至1941年底至1942年初&#xff09;是苏联在二战中损失最惨重的阶段之一。以下是主要方面的损失概述&#xff1a; ‌一、军事损失‌ ‌人员伤亡与俘虏‌ 至1941年底&#xff0c;苏军伤亡约‌300万人‌&#xff…

联邦学习的收敛性分析(全设备参与,不同本地训练轮次)

联邦学习的收敛性分析 在联邦学习中,我们的目标是分析全局模型的收敛性,考虑设备异构性(不同用户的本地训练轮次不同)和数据异质性(用户数据分布不均匀)。以下推导从全局模型更新开始,逐步引入假设并推导期望损失的递减关系,最终给出收敛性结论。 1. 全局模型更新与泰…

多线程爬虫中实现线程安全的MySQL连接池

多线程爬虫中实现线程安全的MySQL连接池 在日常开发中&#xff0c;数据库操作频繁建立/关闭连接会带来性能损耗&#xff0c;尤其在多线程场景中更容易出现连接复用、阻塞等问题。因此&#xff0c;本文介绍如何使用 Python 封装一个 线程安全的 MySQL 连接池&#xff0c;并通过…

HTML:常用标签(元素)汇总

文章目录 一、标签分类1、块标签与行标签 二、排版标签三、文本标签1、常用2、不常用 四、图片标签五、超链接1、跳转页面2、跳转文件或下载文件3、跳转到锚点4、唤起本地应用 六、列表七、表格八、表单九、框架十、HTML实体十一、全局属性十二、meta元信息 一、标签分类 1、块…

20250430在ubuntu14.04.6系统上完成编译NanoPi NEO开发板的FriendlyCore系统【严重不推荐,属于没苦硬吃】

【开始编译SDK之前需要更新源】 rootrootubuntu:~/friendlywrt-h3$ sudo apt update 【这两个目录你在ubuntu14.04.6系统上貌似git clone异常了】 Y:\friendlywrt-h3\out\wireguard Y:\friendlywrt-h3\kernel\exfat-nofuse 【需要单线程编译文件系统&#xff0c;原因不明】 Y:…

【AI论文】CipherBank:通过密码学挑战探索LLM推理能力的边界

摘要&#xff1a;大型语言模型&#xff08;LLMs&#xff09;已经展现出非凡的能力&#xff0c;尤其是最近在推理方面的进步&#xff0c;如o1和o3&#xff0c;推动了人工智能的发展。尽管在数学和编码方面取得了令人印象深刻的成就&#xff0c;但在需要密码学专业知识的领域&…

艺术与科技的双向奔赴——高一鑫荣获加州联合表彰

2025年4月20日,在由M.A.D公司协办的“智艺相融,共赴价值巅峰”(Academic and Artistic Fusion Tribute to the Summit of Value)主题发布会上,音乐教育与科技融合领域的代表人物高一鑫,因其在数字音乐教育与中美文化交流方面的杰出贡献,荣获了圣盖博市议员Jorge Herrera和尔湾市…

【深度学习的灵魂】图片布局生成模型LayoutPrompt(1)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;《深度学习理论直觉三十讲》_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目…