血翼残飞

导航

通过HttpClient发起Get请求,获取Json数据,然后转为java数据,然后批量保存数据库;

Json转java所需Jar包:

commons-beanutils-1.8.0.jar,commons-collections-3.2.1.jar,commons-lang-2.5.jar,commons-logging-1.1.1.jar,ezmorph-1.0.6.jar,json-lib-2.4.jar

 下载地址:https://pan.baidu.com/s/1qHhYMDLsk95D7pYeyGTfjg     提取码:ddso


HttpClient所需Jar包:

httpclient-4.2.2.jar,httpcore-4.2.2.jar

下载地址:https://pan.baidu.com/s/1xojyZ4UqdQFSCEYHO8oYxg   提取码:1lws

 1 import org.apache.http.HttpEntity;
 2 import org.apache.http.HttpResponse;
 3 import org.apache.http.client.ClientProtocolException;
 4 import org.apache.http.client.HttpClient;
 5 import org.apache.http.client.methods.HttpGet;
 6 import org.apache.http.impl.client.DefaultHttpClient;
 7 import org.apache.http.util.EntityUtils;
 8 import org.springframework.beans.factory.annotation.Autowired;
 9 import org.springframework.stereotype.Controller;
10 import org.springframework.web.bind.annotation.RequestMapping;
11 
12 import net.sf.json.JSONArray;
13 import net.sf.json.JSONObject;
14 import net.sf.json.JsonConfig;
15 
16 public String CourseList() {
17         String url = "";
18         HttpClient httpClient = new DefaultHttpClient();
19         HttpGet httpGet = new HttpGet(url);
20         String json = null;
21         try {
22             // 通过HttpClient Get请求返回Json数据
23             HttpResponse response = httpClient.execute(httpGet);
24             HttpEntity entity = response.getEntity();
25             if (entity != null) {
26                 json = EntityUtils.toString(entity, "UTF-8").trim();
27                 JSONObject jsonModelObject = JSONObject.fromObject(json);
28                 // 通过字典值拿取实体类数据集合curPageDate
29                 String model = jsonModelObject.getString("model");
30                 JSONObject jsonCurPageDataObj = JSONObject.fromObject(model);
31                 // 拿取分页 当前页数据
32                 String curPageData = jsonCurPageDataObj.getString("curPageData");
33                 // 转为JSONArray数组
34                 JSONArray jArray = JSONArray.fromObject(curPageData);
35                 // 转为java数组
36                 List<?> list = JSONArray.toList(jArray, new Course(), new JsonConfig());
37                 int result = courseService.insertCourse(list);
38                 if (result > 0) {
39                     System.out.println("成功");
40                 }
41             }
42         } catch (ClientProtocolException e) {
43             e.printStackTrace();
44         } catch (IOException e) {
45             e.printStackTrace();
46         } finally {
47             httpGet.abort();
48         }
49         return "success";
50     }

<foreach>批量插入数据:

    <insert id="insert" parameterType="map">
        insert into course 
            (courseId,courseName,courseSchool,courseTeacher,courseBrief,courseLearnNum,courseType) 
        values
        <foreach collection="list" item="item" index="index" separator=",">
            (#{item.courseId},#{item.courseName},#{item.courseSchool},#{item.courseTeacher},#{item.courseBrief},#{item.courseLearnNum},#{item.courseType})
        </foreach>
    </insert>

 

posted on 2018-12-28 15:19  血翼残飞  阅读(4777)  评论(0编辑  收藏  举报