public void CreateTable(String splitstr) {
String sqsl = "CREATE TABLE " + "dmp_mp_" + splitstr + " like dmp_mp_demo";
jdbcTemplate.execute(sqsl);
log.info("创建表[{}]完成", "dmp_mp_" + splitstr);
}
public boolean AddUserToDatebase(String filename) throws Exception {
log.info("开始将文件{}存入数据库中", filename);
File file = new File(filenames + filename);
if (file.length() < 10) {
log.info("文件长度不大于10");
return false;
} else {
Charset charset = Charset.defaultCharset();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), charset));
StringBuffer sqls = new StringBuffer("START TRANSACTION; ");
String line = "";
String decrypt = "";
int index = 0;
String splitstr = Splitstr(filename);
int index2 = 0;
while ((line = bufferedReader.readLine()) != null) {
decrypt = AesEncode.Decrypt(line);
if (IsGarbled(decrypt)) {
sqls.append("INSERT INTO dmp_mp_" + splitstr + " (`account`) VALUES ('" + decrypt.trim() + "');");
index++;
if (index == 5000) {
index2 += 5000;
index = 0;
sqls.append("COMMIT;");
jdbcTemplate.execute(sqls.toString());
sqls = new StringBuffer("START TRANSACTION; ");
}
}
}
if (index > 0 && index < 5000) {
sqls.append("COMMIT;");
index2 += index;
jdbcTemplate.execute(sqls.toString());
}
log.info("成功导入数据[{}]条", index2);
bufferedReader.close();
return true;
}
}
public static boolean IsGarbled(String s) {
if (s != null && !(Charset.forName("GBK").newEncoder().canEncode(s))) {
return false;
} else {
return true;
}
}