Java小程序:将json文件中树信息转换成insert sql脚本
来源:互联网 发布:python 数据缺失 编辑:程序博客网 时间:2024/05/26 19:16
最近做一个需求,需要将json文件中的树结构信息读取出来保存到数据库表中,所以写了个小程序来完成;该程序需要依赖fastjson包
1、json文件内容(仅举例)
2、java代码
“`
public class TreeListConvertDemo {
public static void main(String[] args) { buildInsertSqlFromJSON("D:/tmp/Tree.json");} public static void buildInsertSqlFromJSON(String jsonFileName) { File file = new File(jsonFileName); Scanner scanner = null; StringBuilder buffer = new StringBuilder(); try { scanner = new Scanner(file, "utf-8"); while (scanner.hasNextLine()) { buffer.append(scanner.nextLine()); } } catch (FileNotFoundException e) { } finally { scanner.close(); } TreeBean bean = JSON.parseObject(buffer.toString(), TreeBean.class); List<TreeRecordDO> list = new ArrayList<TreeRecordDO>(); treeBean2list(bean, list, null); try { String lineSeparator = System.getProperty("line.separator","\n"); String outFileName = "D:/tmp/output.sql"; File outputFile = new File(outFileName); if (outputFile.exists()){ outputFile.delete(); } FileWriter writer = new FileWriter(outFileName, true); for (TreeRecordDO d:list) { writer.write(d.buildInsertSql()); writer.write(lineSeparator); } writer.close(); } catch (Exception e){ e.printStackTrace(); } } public static void treeBean2list(TreeBean root,List<TreeRecordDO> list,String parentId){ if (root == null) { return ; } TreeRecordDO d = new TreeRecordDO(root.getId(),parentId,root.getName()); list.add(d); if (root.getChildren()==null){ return; } for (TreeBean sub:root.getChildren()){ treeBean2list(sub, list, d.getId()); } }
}
public class TreeBean implements Serializable{
private static final long serialVersionUID = -8943661675341420107L;
private String id;
private String name;
private List children;
//getter setter
}
public class TreeRecordDO {
private String id;
private String parentId;
private String name;
public TreeRecordDO(){} public TreeRecordDO(String id,String parentId,String name) { this.id=id; this.parentId=parentId; this.name=name;}public String buildInsertSql(){ StringBuilder insertSql = new StringBuilder(); insertSql.append("insert into mln_live_classify(id,parent_id,name,org_id,is_del," + "created_by,created_date,updated_by,updated_date)values(") .append("'"+ this.id+ "'").append(","); if (this.parentId == null){ insertSql.append("null"); } else { insertSql.append("'" + this.parentId+ "'"); } insertSql.append(",") .append("'"+ this.name + "'").append(",") .append("orgId,0,'admin',sysdate,'admin',sysdate);"); return insertSql.toString();} //getter setter
}“`
3、生成的sql
0 0
- Java小程序:将json文件中树信息转换成insert sql脚本
- Java小程序:将excel中树结构信息转换成InsertSQL脚本
- java-将xlsx(excel)文件转换成json
- java-将xlsx(excel)文件转换成json
- 将Sql Server中的数据导出成Insert脚本
- java中 将对象转换为json
- 将Excel中的数据转换成sql Insert语句
- 将Excel中的数据转换成sql Insert语句
- 将Excel中的数据转换成sql Insert语句
- 将Excel中的数据转换成sql Insert语句
- 如何将Java程序转换成exe文件?
- java程序执行SQL脚本文件
- java程序执行SQL脚本文件
- java程序执行SQL脚本文件
- java程序执行SQL脚本文件
- JAVA之IO技术-将java程序的异常信息保存在文件中
- java中JSON将数组对象转换成JSON字符串输出实例
- 将JAVA对象转换成JSON字符串
- 地方棋牌游戏白皮书
- Ubuntu16.04+tensorflow(gpu)+Cuda(8.0)+cudnn(5.1)
- POJ-3984 BFS
- HTTPweb服务器——代码实现
- WIN32 DLL调用ACTIVEX控件
- Java小程序:将json文件中树信息转换成insert sql脚本
- 暴力破解Zip 文件
- Codeforces 798D Mike and distribution(二维贪心)
- struts2中getOutputStream() has already been called for
- 安全认证框架Shiro (一)- ini配置文件
- POJ
- python-opencv-轮廓检测
- SpringBoot非官方教程 | 第三篇:SpringBoot用JdbcTemplates访问Mysql
- 数据语句