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

时间:2023-03-09 15:12:46
通过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

 import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig; public String CourseList() {
String url = "";
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
String json = null;
try {
// 通过HttpClient Get请求返回Json数据
HttpResponse response = httpClient.execute(httpGet);
HttpEntity entity = response.getEntity();
if (entity != null) {
json = EntityUtils.toString(entity, "UTF-8").trim();
JSONObject jsonModelObject = JSONObject.fromObject(json);
// 通过字典值拿取实体类数据集合curPageDate
String model = jsonModelObject.getString("model");
JSONObject jsonCurPageDataObj = JSONObject.fromObject(model);
// 拿取分页 当前页数据
String curPageData = jsonCurPageDataObj.getString("curPageData");
// 转为JSONArray数组
JSONArray jArray = JSONArray.fromObject(curPageData);
// 转为java数组
List<?> list = JSONArray.toList(jArray, new Course(), new JsonConfig());
int result = courseService.insertCourse(list);
if (result > 0) {
System.out.println("成功");
}
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
httpGet.abort();
}
return "success";
}

<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>