读取csv文件到数据库

操作步骤

1.将excel文件另存为csv文件,不要直接改文件的后缀名
2.在mysql终端输入:use 数据库名;
3.在mysql终端输入:
load data infile 'C:/Users/cyj/Desktop/pp1.csv' into table poi character set gb2312 fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n';
这句话的意思是将csv文件读取到数据库中

易出现错误

1.error1366
注意mysql数据库的编码格式,1366错误看上一篇文章https://blog.youkuaiyun.com/gwd1154978352/article/details/67639834
2.error 1366 :incorrect string value "\\x\\cb\\dhfj\\ for column at row 1
此问题的解决是上一步编码问题结束后容易出现的问题,问题原因是mysq对一些汉字不认识,当做乱码,把一些汉字改成常用的即可。

以下是使用Spring MVC将CSV文件中的数据读取数据库的代码示例: 1. 定义实体类 首先,定义一个实体类来存储CSV文件中的数据。示例实体类如下: ```java public class CsvData { private String name; private String email; private String phone; // getters and setters } ``` 2. 创建CSV文件上传表单 在前端创建一个表单,用于上传CSV文件。示例代码如下: ```html <form method="post" action="/upload" enctype="multipart/form-data"> <input type="file" name="file" /> <button type="submit">Upload</button> </form> ``` 3. 创建Controller 创建一个Controller,处理上传CSV文件的请求并将数据存储到数据库中。示例代码如下: ```java @Controller public class CsvController { @Autowired private CsvService csvService; @PostMapping("/upload") public String uploadCsv(@RequestParam("file") MultipartFile file) { try { List<CsvData> csvDataList = csvService.readCsv(file.getInputStream()); csvService.saveCsvData(csvDataList); return "success"; } catch (Exception e) { e.printStackTrace(); return "error"; } } } ``` 4. 创建Service 创建一个Service,用于读取CSV文件中的数据并将其存储到数据库中。示例代码如下: ```java @Service public class CsvService { @Autowired private CsvRepository csvRepository; public List<CsvData> readCsv(InputStream inputStream) throws IOException { List<CsvData> csvDataList = new ArrayList<>(); try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream))) { String line; while ((line = bufferedReader.readLine()) != null) { String[] data = line.split(","); CsvData csvData = new CsvData(); csvData.setName(data[0]); csvData.setEmail(data[1]); csvData.setPhone(data[2]); csvDataList.add(csvData); } } return csvDataList; } public void saveCsvData(List<CsvData> csvDataList) { csvRepository.saveAll(csvDataList); } } ``` 5. 创建Repository 创建一个Repository,用于将CSV文件中的数据存储到数据库中。示例代码如下: ```java public interface CsvRepository extends JpaRepository<CsvData, Long> { // empty } ``` 这样,当用户上传CSV文件时,Controller会调用Service来读取CSV文件中的数据并将其存储到数据库中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值