import java.io.*;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Demo {
//获取输入
static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
menu();
}
// 菜单栏
public static void menu() {
boolean istrue = true;
do {
System.out.println();
System.out.println("************技能编排*************");
System.out.println("1.查询");
System.out.println("2.删除");
System.out.println("3.下载");
System.out.println("4.退出");
System.out.println("请进行操作选择!");
String chance = input.next();
switch (chance) {
case "1":
//查询
query();
break;
case "2":
//删除
del();
break;
case "3":
//下载
download();
break;
case "4":
istrue = false;
quit();
break;
default:
break;
}
} while (istrue);
}
// 查询
public static void query() {
System.out.println("请输入要查询的userId");
String userId = input.next();
List<Skill> skillList = getSkillList(userId);
if (!skillList.isEmpty()) {
System.out.println("你要查询的信息已找到!");
System.out.println("|userId|shareId|skillLIst|");
for (Skill skill : skillList) {
System.out.println("|" + skill.getUserId() + "|"
+ skill.getShareId() + "|" + skill.getSkillList() + "|");
}
} else {
System.out.println("你要查询的userId 无数据!");
}
}
// 下载
public static void download() {
System.out.println("请输入要下载的userId");
String userId = input.next();
//查询数据
List<Skill> skillList = getSkillList(userId);
if (!skillList.isEmpty()) {
System.out.println("请设置文件名称,同名文件会覆盖哦");
//字段名列
List<Object> exportData = new ArrayList<Object>();
exportData.add("userId");
exportData.add("shareId");
exportData.add("skillList");
//数据列
List<List<Object>> datalist = new ArrayList<List<Object>>();
for (Skill skill : skillList) {
List<Object> data=new ArrayList<Object>();
data.add(skill.getUserId());
data.add(skill.getShareId());
data.add(skill.getSkillList());
datalist.add(data);
}
String fileName = input.next();
String path = "/Users/lidoujiao/Desktop";
createCSVFile(exportData,datalist,path,fileName);
System.out.println("OK!");
} else {
System.out.println("你要查询的userId 无数据!");
}
}
// 删除
public static void del() {
System.out.println("请输入删除的userId");
String userId = input.next();
//todo 根据用户ID查询list (count)
if (true) {
System.out.println("删除成功");
} else {
System.out.println("你要查询的userId 无数据!");
}
}
// 退出
private static void quit() {
System.out.println("拜拜~");
System.exit(0);
}
/**
* 获取列表
* @param userId
* @return
*/
private static List<Skill> getSkillList(String userId) {
String sql = "select * from hwSkill where share_id = " + userId;//SQL语句
DBHelper db1 = new DBHelper(sql);//创建DBHelper对象
List<Skill> skillList = new ArrayList<>();
try {
ResultSet ret = db1.pst.executeQuery();//执行语句,得到结果集
while (ret.next()) {
Skill skill = new Skill();
skill.setUserId(ret.getString(1));
skill.setShareId(ret.getString(2));
skill.setSkillList(ret.getString(3));
skillList.add(skill);
}
ret.close();
db1.close();//关闭连接
} catch (SQLException e) {
e.printStackTrace();
}
return skillList;
}
/**
* CSV文件生成方法
* @param head 文件头
* @param dataList 数据列表
* @param outPutPath 文件输出路径
* @param filename 文件名
* @return
*/
public static File createCSVFile(List<Object> head, List<List<Object>> dataList, String outPutPath, String filename) {
File csvFile = null;
BufferedWriter csvWtriter = null;
try {
csvFile = new File(outPutPath + File.separator + filename + ".csv");
File parent = csvFile.getParentFile();
if (parent != null && !parent.exists()) {
parent.mkdirs();
}
csvFile.createNewFile();
// GB2312使正确读取分隔符","
csvWtriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(
csvFile), "GB2312"), 1024);
// 写入文件头部
writeRow(head, csvWtriter);
// 写入文件内容
for (List<Object> row : dataList) {
writeRow(row, csvWtriter);
}
csvWtriter.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
csvWtriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return csvFile;
}
/**
* 写一行数据方法
* @param row
* @param csvWriter
* @throws IOException
*/
private static void writeRow(List<Object> row, BufferedWriter csvWriter) throws IOException {
// 写入文件头部
for (Object data : row) {
StringBuffer sb = new StringBuffer();
String rowStr = sb.append("\"").append(data).append("\",").toString();
csvWriter.write(rowStr);
}
csvWriter.newLine();
}
static class Skill {
String userId;
String shareId;
String skillList;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getShareId() {
return shareId;
}
public void setShareId(String shareId) {
this.shareId = shareId;
}
public String getSkillList() {
return skillList;
}
public void setSkillList(String skillList) {
this.skillList = skillList;
}
}
}
黑框交互工具-dataCopy
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.