当前位置:网站首页>提升工作效率工具:SQL批量生成工具思想
提升工作效率工具:SQL批量生成工具思想
2022-07-05 23:51:00 【haohaounique】
提升工作效率:将excel文件数据转为sql,批量生成sql执行脚本
1.适用于此类读取excel数据并加工成sql文件的场景【简单场景易推荐使用工具本身快捷键如idea notepad,vscode sublime工具自带列选】
easyexcel参考:读Excel | Easy Excel
2.maven 引用
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.1.1</version>
</dependency>
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> <scope>provided</scope> </dependency>
话不多说看代码
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import java.io.File;
import java.io.FileWriter;
import java.util.List;
/**
* description:
*/
@Data
@Slf4j
public class User {
@ExcelProperty(value = "用户名")
private String name;
@ExcelProperty(value = "年龄")
private int age;
@ExcelProperty(value = "地址")
private String address;
public static void main(String[] args) throws Exception {
List<User> list = EasyExcel.read("C:\\Users\\haoha\\Desktop\\user.xls", User.class, null).doReadAllSync();
System.out.println(list);
StringBuilder sb = new StringBuilder();
for (User user : list) {
sb.append("insert into user(user_name,age,address)value");
sb.append("(");
sb.append("'").append(replaceWord(user.getName())).append("',");
sb.append("'").append(user.getAge()).append("',");
sb.append("'").append(replaceWord(user.getAddress())).append("',");
sb.append(");");
sb.append("\r\n");
}
try (FileWriter writer = new FileWriter(new File("D:\\develop\\xk\\common-module\\src\\main\\java\\com\\bean\\user.sql"));) {
writer.write(sb.toString());
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
public static String replaceWord(String word) {
if (word == null) {
return word;
}
return word.replace("'", "''");
}
}
效果
注意:需要将部分特殊的符号替换,具体看使用的场景
边栏推荐
- 亲测可用fiddler手机抓包配置代理后没有网络
- 保研笔记二 软件工程与计算卷二(13-16章)
- 【luogu P3295】萌萌哒(并查集)(倍增)
- orgchart. JS organization chart, presenting structural data in an elegant way
- ts类型声明declare
- 做自媒体影视短视频剪辑号,在哪儿下载素材?
- Use CAS instead of synchronized
- mysql-全局锁和表锁
- China Jinmao online electronic signature, accelerating the digitization of real estate business
- Tips for using pads router
猜你喜欢
随机推荐
传输层协议------UDP协议
TS type declaration
How to improve eloquence
Zhuan: in the future, such an organization can withstand the risks
XML配置文件(DTD详细讲解)
Initialiser votre vecteur & initialisateur avec une liste Introduction à la Liste
orgchart. JS organization chart, presenting structural data in an elegant way
2022.6.20-6.26 AI industry weekly (issue 103): new little life
Mathematical model Lotka Volterra
QT QPushButton details
FFT 学习笔记(自认为详细)
GD32F4xx uIP协议栈移植记录
20220703 周赛:知道秘密的人数-动规(题解)
关于结构体所占内存大小知识
Spreadjs 15.1 CN and spreadjs 15.1 en
云呐|固定资产管理系统主要操作流程有哪些
GFS分布式文件系統
Rasa 3.x 学习系列-Rasa 3.2.1 新版本发布
C file and folder operation
MySQL replace primary key delete primary key add primary key