当前位置:   article > 正文

批量生成sql_sql 代码在线生成

sql 代码在线生成

提升工作效率:将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>

话不多说看代码

  1. import com.alibaba.excel.EasyExcel;
  2. import com.alibaba.excel.annotation.ExcelProperty;
  3. import lombok.Data;
  4. import lombok.extern.slf4j.Slf4j;
  5. import java.io.File;
  6. import java.io.FileWriter;
  7. import java.util.List;
  8. /**
  9. * description:
  10. */
  11. @Data
  12. @Slf4j
  13. public class User {
  14. @ExcelProperty(value = "用户名")
  15. private String name;
  16. @ExcelProperty(value = "年龄")
  17. private int age;
  18. @ExcelProperty(value = "地址")
  19. private String address;
  20. public static void main(String[] args) throws Exception {
  21. List<User> list = EasyExcel.read("C:\\Users\\haoha\\Desktop\\user.xls", User.class, null).doReadAllSync();
  22. System.out.println(list);
  23. StringBuilder sb = new StringBuilder();
  24. for (User user : list) {
  25. sb.append("insert into user(user_name,age,address)value");
  26. sb.append("(");
  27. sb.append("'").append(replaceWord(user.getName())).append("',");
  28. sb.append("'").append(user.getAge()).append("',");
  29. sb.append("'").append(replaceWord(user.getAddress())).append("',");
  30. sb.append(");");
  31. sb.append("\r\n");
  32. }
  33. try (FileWriter writer = new FileWriter(new File("D:\\develop\\xk\\common-module\\src\\main\\java\\com\\bean\\user.sql"));) {
  34. writer.write(sb.toString());
  35. } catch (Exception e) {
  36. log.error(e.getMessage(), e);
  37. }
  38. }
  39. public static String replaceWord(String word) {
  40. if (word == null) {
  41. return word;
  42. }
  43. return word.replace("'", "''");
  44. }
  45. }

效果

注意:需要将部分特殊的符号替换,具体看使用的场景

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/231143?site
推荐阅读
相关标签
  

闽ICP备14008679号