AI解释的csv文件。
CSV是一种常见的文件格式,它代表逗号分隔值(Comma-Separated Values)。CSV文件是一种纯文本文件,其中包含由逗号分隔的数据行。每行数据表示一个记录,每个记录包含一个或多个字段。CSV文件通常用于在不同的应用程序之间共享数据,例如在电子表格程序和数据库之间传输数据。由于CSV文件是纯文本文件,因此可以使用任何文本编辑器打开和编辑。
首先引入依赖文件
pa包
<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
Spring boot WEB 依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
数据库连接依赖
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
配置数据库连接三要素!
进行实体类的创建
实体类一定要加上@Entity注解
表中要有主键,需要添加上@ID的注解。
还需要定义主键生成策略。
// 标注主键
@Id
// 指定主键生成策略 自动递增
@GeneratedValue(strategy = GenerationType.IDENTITY)
实体类里的属性名要和数据库的字段名相对应。
创建接口,继承JPA类。并添加泛型
建controller层
@Autowired private Student_2Respository student_2Respository;
String path="D:\\files/测试CSV.txt"; @PostMapping("upToDb") public String upToDb(@RequestParam("file")MultipartFile file) throws IOException { //先读取文件 BufferedReader bufferedReader = new BufferedReader(new FileReader(path)); //使用空数组接收文件 List<Student_2> student2s = new ArrayList<>(); //遍历每一行数据,存进数组 String line; //判断文档第一行是否是标题 // boolean isTitle = true; while ((line=bufferedReader.readLine()) != null){ // if (isTitle) { // isTitle = false; // continue; // 跳过标题行 // } String[] split = line.split(","); //new 出实体类对象 Student_2 student_2 = new Student_2(); student_2.setName(split[0]); student_2.setDenger(split[1]); student_2.setBirthday(split[2]); student_2.setAddress(split[3]); student2s.add(student_2); } //对数组进行排序 根据年龄排序 Collections.sort(student2s, new Comparator<Student_2>() { @Override public int compare(Student_2 o1, Student_2 o2) { return o1.getBirthday().compareTo(o2.getBirthday()); } }); for (Student_2 student2 : student2s) { System.out.println("按照年龄排序"+student2); } //对数据进行去重 返回的就是Student_2的实体类. LinkedHashSet<Student_2> students = new LinkedHashSet<>(); for (int i = 0; i < student2s.size(); i++) { Student_2 student_2 = student2s.get(i); students.add(student_2); } for (Object student : students) { System.out.println("去重后的数组"+student); } //保存到数据库 student_2Respository.saveAll(students); return "保存成功"; }