今天在工作中遇到了這樣一個問題,數據大約有4k+,然后需要分類進行加和,如果手工處理,對於程序員來說是一種莫名的恥辱,所以想做一個程序將獲得的json串更改為可在數據中自由操作的數據,所以便需要做一個小程序來進行處理
1.首先,我考慮的問題是怎樣將數據存入數據庫,直接使用jdbc,還是使用orm框架,這在選擇上有了比較,但是基於練習,本人將進行三版操作,jdbc,hibernate,mybatis三種。
2.選定數據庫連接方式之后,因為我們所要生成的表肯定是臨時表,表名需要具有時效性,並且具有見名知意的效果,那么我們需要在解析json時將json的各個字段名稱編寫為表字段名稱
3.解析json之后字段上可能會出現的問題是,數組下不是簡單的對象,而是對象內部有數據作為其中的屬性出現,那么需要進行下級存在判斷,然后在最底層的數據生成相關的總字段集,
4.在3中僅是判斷了每個對象中的屬性相同的情況,雖然不同屬性在一般的返回數據中不會出現,但是處於對於代碼完整性的考慮,加入這一判斷,這里放一個開關,Y開啟全局字段判斷,N否則不開啟\]
5.處理json數據,保存信息
6.json文件可以有三種情況出現,直接使用字符串,文件上傳,本地上傳讀取,這三種情況中我想加入,大文本讀取方法,這樣可以練習io流的使用,單行讀取或者說是根據符號讀取,但可能會有一些不現實,這樣處理起來會很困難,但是對於如果像是數據遷移這樣的事情發生的時候可能簡單的讀取方法內存上會出現問題,而這樣的想法是必須的
7.我沒有去寫一個基礎類,因為我認為基礎類會涉及的東西更多,現在這個程序已經是overdesign了,如果加上entity,就要使用反射,這樣是增加了不必要的開發時間及任務,在設計中這是不應該發生的,雖然有的時候很多人願意開發出一套這樣繁復的程序去方便日后的開發工作,但是design只是思想,開發才是實際工作,不切實際的design,和狹隘的個人design只能將本來清晰簡單的工作逼上絕路
8.代碼開發將后續進行,今天設計到此
最近比較忙,僅寫了簡單jdbc的插入方法代碼地址如下(jdbc版本,將后續更新其他版本):
https://files.cnblogs.com/files/alwaystone/jsonToDatabase.rar