当前位置: 首页 > news >正文

芜湖做网站的公司合肥模板网站建设软件

芜湖做网站的公司,合肥模板网站建设软件,源码出售网站,网站难做最近做数据同步功能#xff0c;从接口获取数据然后存到数据库中以便后续对数据进行相关操作#xff0c;下面就贴一下相关代码。1 import com.alibaba.fastjson.JSON;2 import com.alibaba.fastjson.JSONObject;34 public class Digests {5 private static final String APPKE…最近做数据同步功能从接口获取数据然后存到数据库中以便后续对数据进行相关操作下面就贴一下相关代码。1 import com.alibaba.fastjson.JSON;2 import com.alibaba.fastjson.JSONObject;34 public class Digests {5 private static final String APPKEY appkey;6 private static final String SECRET secret;7 private static final String OPENAPI_IP_PORT_HTTP ip;89 /**10 * 分页获取数据。11 */12 private static final String GET_DATA balabala;1314 //md5加密15 public static final String md5(String s) {16 char[] hexDigits { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,17 a, b, c, d, e, f };18 try {19 MessageDigest mdTemp MessageDigest.getInstance(MD5);20 try {21 mdTemp.update(s.getBytes(UTF-8));22 } catch (UnsupportedEncodingException e) {23 mdTemp.update(s.getBytes());24 }25 byte[] md mdTemp.digest();26 int j md.length;27 char[] str new char[j * 2];28 int k 0;29 for (int i 0; i j; i) {30 byte byte0 md[i];31 str[(k )] hexDigits[(byte0 4 0xF)];32 str[(k )] hexDigits[(byte0 0xF)];33 }34 return new String(str).toUpperCase();35 } catch (Exception e) {36 }37 return null;38 }3940 //创建token41 public static final String buildToken(String url, String paramJson,42 String secret) {43 String tempUrl null;44 if (url.contains(https://))45 tempUrl url.substring(https://.length());46 else {47 tempUrl url.substring(http://.length());48 }49 int index tempUrl.indexOf(/);50 String URI tempUrl.substring(index);51 String[] ss URI.split(\\?);52 if (ss.length 1) {53 return md5(ss[0] ss[1] secret);54 }55 return md5(ss[0] paramJson secret);56 }5758 /**59 * HTTP方式 分页获取数据。60 */61 public static String getData(double pageNo, Long startTime) throws Exception { //第一个参数是当前页数第二个参数是请求数据的开始时间(为毫秒数)62 String url OPENAPI_IP_PORT_HTTP GET_DATA ;63 Map map new HashMap();64 JSONObject jsonObject JSONObject.parseObject(getDefaultUserUUID());65 String opUserUuid jsonObject.getString(data);66 //System.out.println(opUserUuid);67 map.put(appkey, APPKEY);// 设置APPKEY68 map.put(time, System.currentTimeMillis());// 设置时间参数69 map.put(pageNo, pageNo);// 设置当前页数70 map.put(pageSize, 1000);// 设置一页多少条71 map.put(opUserUuid, opUserUuid);// 设置操作用户UUID72 map.put(startTime, startTime);// 设置开始时间73 map.put(endTime, System.currentTimeMillis());// 设置结束时间74 String params JSON.toJSONString(map);75 System.out.println( getData请求参数【 params 】);76 String data HttpClientSSLUtils.doPost(77 url ?token78 Digests.buildToken(url ? params, null, SECRET),79 params);80 System.out.println( getData请求返回结果【{ data }】);8182 return data;83 }84 }从接口拿到数据后下面就将数据存到数据库中1 import net.sf.json.JSONArray;2 import net.sf.json.JSONObject;34 public class SyncDataFn {56 public int jxJson() throws Exception {7 //此处省略数据库连接相关语句具体见上一篇properties配置文件连接数据库89 // 创建Statement用于执行SQL语句10 connection.setAutoCommit(false);11 stmt connection.createStatement();1213 Long maxtime;14 String sqlMaxtime select max(eventTime) as maxTime from data;15 ResultSet rs1 stmt.executeQuery(sqlMaxtime); // 查询数据库看数据是否已经存在表示只更新没有更新进来的数据16 if (rs1.next()) { // 该条数据存在17 maxtime rs1.getLong(maxTime);18 } else {19 maxtime (long) 0;20 }21 rs1.close();2223 //得到json数据24 String json Digests.getDoorEventsHistory(1, maxtime);25 JSONObject jsonObject (JSONObject) JSONObject.fromObject(json);26 String to (String) jsonObject.getString(data);27 JSONObject toObject JSONObject.fromObject(to);28 double total Integer.parseInt(toObject.getString(total));29 int page (int) Math.ceil(total / 1000);30 for (double k 1; k page; k ) {3132 //得到json数据33 String jsonTemp Digests.getData(k, maxtime);34 String data JSONObject.fromObject(jsonTemp).getString(data);35 String list JSONObject.fromObject(data).getString(list);363738 JSONArray jsonArr JSONArray.fromObject(list);3940 String dataName[] new String[jsonArr.size()];41 String eventType[] new String[jsonArr.size()];42 String eventTime[] new String[jsonArr.size()];43 String eventName[] new String[jsonArr.size()];44 String cardNo[] new String[jsonArr.size()];45 String personId[] new String[jsonArr.size()];46 String personName[] new String[jsonArr.size()];47 String deptName[] new String[jsonArr.size()];4849 for (int i 0; i jsonArr.size(); i ) {5051 dataName[i] jsonArr.getJSONObject(i).getString(dataName);52 eventType[i] jsonArr.getJSONObject(i).getString(eventType);53 eventTime[i] jsonArr.getJSONObject(i).getString(eventTime);54 eventName[i] jsonArr.getJSONObject(i).getString(eventName);55 cardNo[i] jsonArr.getJSONObject(i).getString(cardNo);56 personId[i] jsonArr.getJSONObject(i).getString(personId);57 personName[i] jsonArr.getJSONObject(i).getString(personName);58 deptName[i] jsonArr.getJSONObject(i).getString(deptName);59 //如果得到的字段有null的做相应处理60 cardNo[i] (cardNo[i] null) ? null , : 61 cardNo[i] ;62 personName[i] (personName[i] null) ? null , : 63 personName[i] ,;64 deptUuid[i] ,;65 deptName[i] (deptName[i] null) ? null , : 66 deptName[i] ,;6768 strSQL INSERT into door_events_history values(AUTOID_SEQ.NEXTVAL,69 dataName[i] , eventType[i] , eventTime[i] , eventName[i] , cardNo[i] , personId[i] , personName[i] deptName[i] );7071 try {72 String sql select cardNo,eventTime from data where cardNo 73 cardNo[i]74 and eventTime 75 eventTime[i];76 ResultSet rs stmt.executeQuery(sql); // 查询数据库看数据是否已经存在77 if (rs.next()) { // 该条数据已经存在78 } else {79 stmt.executeUpdate(strSQL);80 count ;81 }82 rs.close();83 } catch (Exception e) {84 e.printStackTrace();85 } finally {8687 }88 }8990 connection.commit();91 } // for结束9293 // 先关闭Statement94 if (stmt ! null)95 try {96 stmt.close();97 } catch (SQLException e) {98 e.printStackTrace();99 }100 // 后关闭Connection101 if (connection ! null)102 try {103 connection.close();104 } catch (SQLException e) {105 e.printStackTrace();106 }107 log.info(当前时间 new Date());108 log.info(同步结束);109 log.info(共更新了 count 条数据);110 return count;111 }112 }其中AUTOID_SEQ.NEXTVAL为Oracle中的自增序列至此数据已经同步到指定的数据库中啦打完收工注意拼接sql的时候一定要按照字段类型来看是否增加单引号否则插入数据会报错。来源https://www.icode9.com/content-2-358051.html
http://wiki.neutronadmin.com/news/287705/

相关文章:

  • 网站的设计思路范文免费装修设计图app
  • 宜昌网站设计制作公司唐山做网站那家好
  • 2017年网站建设招标书响应式网站做mip
  • 唐山彩钢中企动力提供网站建设旅游网站网页设计方案
  • 做渠道的网站有哪些有网站开发经验怎么写简历
  • 直播视频下载济南优化哪家好
  • 西安市城乡建设档案馆网站3d打印网站开发
  • 利于seo的建站系统有哪些济南装饰行业网站建设
  • 接做网站单子昆明百度推广优化排名
  • 商城网站设计网站建设怎样设置动态背景
  • 网站开发 兼职项目儿童玩具网站建设实训报告
  • 九江网站建设多少钱百度 网站速度诊断
  • 西安建网站哪家好wordpress是php文件路径
  • 加盟网站建设服务网站建设关键的问题是
  • 河南企业网站排名优化企业建网站的目的
  • 城乡建设吧部网站将page转换为wordpress
  • 中山精品网站建设价位徐州做网站的哪个好
  • 培训网站系统建设个人做流量大的网站
  • 成都 网站原创做英文行程的网站
  • 宁波英文网站建设联系深圳网站制作公司
  • 龙岩网站建设要多久建筑建设行业网站
  • 中国旅游网站的建设吉林网络公司网站建设
  • php开发网站建设书籍f006网站建设
  • 提供做网站服务好小程序开发平台有哪些公司
  • 织梦网站上传的文章只显示摘要不显示内容如何修改seo综合排名优化
  • 优秀国内个人网站网址自己建设个小网站要什么
  • 哪有培训网站开发网站建设专家工作内容
  • 建设营销型网站广州商城类网站模板
  • 2018网站设计报价表网站规划的原则有哪些
  • 郑州网站建设乚汉狮网络昆明平台开发公司