java - java spring和hibernate如何将日文字符保存到Mysql中?
问题描述
我有几个文件原始数据保存为.DAT,这个文件有日文字符。我想通过 java spring boot 将日文字符保存到数据库中。我在用 :
- Ubuntu 18.04
- 智能
- 休眠
- 弹簧靴
- 摇篮
设置数据库:
url: jdbc:mariadb://localhost:3306/msf?useUnicode=yes&characterEncoding=UTF-8
读取文件并保存到数据库中:
StringBuilder sb = new StringBuilder();
File file = ResourceUtils.getFile("classpath:sources.data/DATADEMO");
if (file.exists()){
try (BufferedReader br = new BufferedReader(new FileReader(file.getPath()))) {
String line;
while ((line = br.readLine()) != null) {
String[] str = line.split(",");
MsPaymentSake msPaymentSake = new MsPaymentSake();
msPaymentSake.setStoreCode(str[0]);
msPaymentSake.setType(str[1]);
msPaymentSake.setClassification(str[2]);
msPaymentSake.setCapacity(str[3]);
msPaymentSake.setStatsDate(str[4]);
msPaymentSake.setPartner(str[5].trim());
msPaymentSake.setProductName(str[6].trim());
msPaymentSake.setFrequencyAll(str[7]);
msPaymentSake.setQuantity(str[8]);
msPaymentSake.setPrice(str[9]);
msPaymentSake.setTotalPrice(str[10]);
msPaymentSake.setFrequency(str[11]);
msPaymentSake.setCreated(LocalDateTime.now());
paymentSakeRepository.save(msPaymentSake);
}
} catch (IOException e) {
System.err.format("IOException: %s%n", e);
}
file.delete();
} else{
System.out.println("can't find file!");
}
解决方案
在您的 application.properties 中使用这些:
spring.datasource.hikari.data-source-properties.useUnicode=true
spring.datasource.hikari.data-source-properties.characterEncoding=UTF-8
推荐阅读
- python-3.x - 我的程序不会停止并返回相同的答案
- camunda - Camunda 任务未显示在使用 Tomcat 的进程定义选项卡中
- javascript - Vue 中的动态属性选择 - 先前的选择变为空白
- javascript - 无法将文件从控制器操作发送到浏览器进行下载
- ios - 每个 UITableView 的 UITableViews 循环都有不同的数据?
- php - BitBucket 管道在测试用例上失败
- android - 如何在单击whatsapp个人资料图像共享时使用我自己的android应用程序显示选择器意图
- node.js - 黄瓜测试失败但 travis 构建仍然通过
- python - 如何在 Python 中使用给定数据绘制对数图?
- java - Android MediaBrowserService 自定义音频src和元数据