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

创建网站哪个好郑州公司网站

创建网站哪个好,郑州公司网站,seo推广什么意思,网站开发公司如何拓展业务“大家好#xff0c;我是雄雄#xff0c;欢迎关注微信公众号#xff1a;雄雄的小课堂”前言现在是#xff1a;2022年5月20日09:32:38今天遇到了个这样的需求#xff0c;解析excel表中的数据#xff0c;以JDBC的方式#xff0c;将数据批量更新至不同的数据表中。注意我是雄雄欢迎关注微信公众号雄雄的小课堂”前言现在是2022年5月20日09:32:38今天遇到了个这样的需求解析excel表中的数据以JDBC的方式将数据批量更新至不同的数据表中。注意更新指的是如果数据表中有该条记录则更新操作如果没有则新增操作。实现思路解析Excel直接写了个工具类先看一下代码在做说明/*** 解析excel表格每行数据分别插入到两个表中巡查的视频表* 已经执行完成* 2022年5月12日21:22:01** ↓执行情况如下↓* 一共有这么多行88* **************开始执行************** *************执行完毕******************集合的长度是88* equipment表的添加情况88* disanfangvedio表的添加情况88**/public static void updateBaseEquipmentAndBaseDiSanFangVedio(){String excelPath  System.getProperty(user.dir)  /ruoyi-admin/src/main/java/zhengshiflowstuisong519.xlsx;try {//String encoding  GBK;File excel  new File(excelPath);//判断文件是否存在if (excel.isFile()  excel.exists()) {//.是特殊字符需要转义String[] split  excel.getName().split(\\.);Workbook wb;//根据文件后缀xls/xlsx进行判断if (xls.equals(split[1])) {//文件流对象FileInputStream fis  new FileInputStream(excel);wb  new HSSFWorkbook(fis);} else if (xlsx.equals(split[1])) {wb  new XSSFWorkbook(excel);} else {System.out.println(文件类型错误!);return;}//开始解析// 读取sheet 0Sheet sheet  wb.getSheetAt(0);//第一行是列名所以不读int firstRowIndex  sheet.getFirstRowNum()  1;int lastRowIndex  sheet.getLastRowNum();System.out.println(一共有这么多行lastRowIndex);System.out.println(**************开始执行**************);//将信息放在集合里面添加的时候好处理ListEquipmentAndDiSanFangVedioEntity equipmentAndDiSanFangVedioEntityListList  new ArrayList();//遍历行for (int rIndex  firstRowIndex; rIndex lastRowIndex; rIndex) {//初始化对象EquipmentAndDiSanFangVedioEntity equipmentAndDiSanFangVedioEntity  new EquipmentAndDiSanFangVedioEntity();BaseEquipment baseEquipment  new BaseEquipment();BaseDisanfangvedio baseDisanfangvedio  new BaseDisanfangvedio();//不会重复吧String uuid  IdUtils.fastSimpleUUID();System.out.print(rIndex);Row row  sheet.getRow(rIndex);if (row ! null) {DataFormatter dataFormatter  new DataFormatter();//regionkeyCell cell_regionkey  row.getCell(0);double cell_regionkey_double  Double.parseDouble(cell_regionkey.toString());Long regionkey  (long)cell_regionkey_double;baseEquipment.setDeptId(regionkey);baseDisanfangvedio.setRegionkey(regionkey);baseDisanfangvedio.setVenueId(regionkey.toString());//equipment_nameCell cell_equipment_name  row.getCell(1);String equipment_name dataFormatter.formatCellValue(cell_equipment_name);baseEquipment.setEquipmentCode(equipment_name);baseDisanfangvedio.setEquipmentName(equipment_name);//province_idCell cell_province_id  row.getCell(2);String province_id dataFormatter.formatCellValue(cell_province_id);baseDisanfangvedio.setProvinceId(province_id);//city_idCell cell_city_id  row.getCell(3);String city_id dataFormatter.formatCellValue(cell_city_id);baseDisanfangvedio.setCityId(city_id);//district_idCell cell_district_id  row.getCell(4);String district_id dataFormatter.formatCellValue(cell_district_id);baseDisanfangvedio.setDistrictId(district_id);//venue_idCell cell_venue_id  row.getCell(5);String venue_id dataFormatter.formatCellValue(cell_venue_id);//摄像机名称Cell cell_openArea  row.getCell(6);String openArea dataFormatter.formatCellValue(cell_openArea);baseEquipment.setEquipmentName(openArea);baseEquipment.setLocation(openArea);//real_time_video_addressCell cell_real_time_video_address  row.getCell(7);String real_time_video_address dataFormatter.formatCellValue(cell_real_time_video_address);baseDisanfangvedio.setRealTimeVideoAddress(real_time_video_address);baseEquipment.setBrandId(宇视);baseEquipment.setTypeId(1);baseEquipment.setIpAddress(uuid);baseEquipment.setStateId(0);baseEquipment.setOnlineDate(new Date());baseEquipment.setIsCoreArea(1);baseEquipment.setIsExamine(0);baseDisanfangvedio.setDeviceId(uuid);baseDisanfangvedio.setCreateTime(new Date());equipmentAndDiSanFangVedioEntity.setBaseEquipment(baseEquipment);equipmentAndDiSanFangVedioEntity.setBaseDisanfangvedio(baseDisanfangvedio);//添加到集合里面equipmentAndDiSanFangVedioEntityListList.add(equipmentAndDiSanFangVedioEntity);}}System.out.println(*************执行完毕******************\n集合的长度是equipmentAndDiSanFangVedioEntityListList.size());System.out.println(请稍等…………);System.out.println(正在插入到数据库…………);System.out.println(再等等…………);//调用更新的方法ZhiXingMysqlNew zhiXingMysqlNew  new ZhiXingMysqlNew();//暂时先注释掉怕误调用此方法 2022年5月18日17:05:28zhiXingMysqlNew.updateBaseEquipmentAndBaseDiSanFangVedio(equipmentAndDiSanFangVedioEntityListList);System.out.println(插入完毕);} else {System.out.println(找不到指定的文件);}} catch (Exception e) {e.printStackTrace();}}代码说明此类专门用作解析Excel文件将每列需要用到的信息解析之后放在集合中更新时需要用调用更新的方法进行更新操作更新操作这个方法是专门用来更新操作的实现思路根据指定的条件查询数据表中该记录是否存在必须是唯一的可以多个条件组合如果有记录则执行更新操作如果没有记录则执行添加操作均采用JDBC批量更新的方式addBatch、executeBatch、clearBatch最后关闭流代码如下/*** 更新base_equipment表和base_disanfangvedio表* 1.先去视频表里面查询是否有记录* 2.如果有记录则更新视频表* 3.如果没有记录则两个表都插入一条记录* 4.判断地址是否为空如果是空则值给设备表中插入数据* ** param equipmentAndDiSanFangVedioEntityList*/public void updateBaseEquipmentAndBaseDiSanFangVedio(ListEquipmentAndDiSanFangVedioEntity equipmentAndDiSanFangVedioEntityList) {Connection connection  connection  getConnection();//添加PreparedStatement pStatementEquInsert  null;PreparedStatement pStatementDsfInsert  null;//修改PreparedStatement pStatementEquUpdate  null;PreparedStatement pStatementDsfUpdate  null;//查询PreparedStatement pStatementEquipmentSelect  null;ResultSet rs  null;try {//先根据场馆id和点位名称查询信息String sqlEquipmentSelect  SELECT * FROM base_equipment WHERE dept_id  ? AND equipment_name   ?;//新增的sql语句String sqlEquipmentInsert    INSERT INTO base_equipment \n ( equipment_code, equipment_name,dept_id, \n location, brand_id, type_id, ip_address, \n state_id, \n online_date,  is_core_area,is_examine ) \n  VALUES ( ?,?,?,?,?,?,?,?,?,?,?);String sqlBaseDisanFangVedioInsert   INSERT INTO base_disanfangvedio \n ( regionkey, equipment_name, province_id,\n  city_id, district_id, venue_id, real_time_video_address, \n  device_id, create_time) \n  VALUES (?, ?,?, ?, ?, ?, ?, ?, ?);//修改的sql语句String sqlEquipmentUpdate   UPDATE base_equipment SET equipment_code  ?, equipment_name  ?,  dept_id  ?, location  ?, brand_id  ?, type_id  ?, state_id  ?,  online_date  ?, is_core_area  ?, is_examine  ? WHERE ip_address  ?;String sqlBaseDisanFangVedioUpdate   UPDATE base_disanfangvedio SET regionkey  ?,  equipment_name  ?, province_id  ?, city_id  ?, district_id  ?,  venue_id  ?, real_time_video_address  ?, create_time  ?  WHERE device_id  ?;SimpleDateFormat simpleDateFormat  new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);//添加的pStatementEquInsert  connection.prepareStatement(sqlEquipmentInsert);pStatementDsfInsert  connection.prepareStatement(sqlBaseDisanFangVedioInsert);//修改的pStatementEquUpdate  connection.prepareStatement(sqlEquipmentUpdate);pStatementDsfUpdate  connection.prepareStatement(sqlBaseDisanFangVedioUpdate);//查询的pStatementEquipmentSelect  connection.prepareStatement(sqlEquipmentSelect);//批量插入数据for (EquipmentAndDiSanFangVedioEntity equipmentAndDiSanFangVedioEntity : equipmentAndDiSanFangVedioEntityList) {//先根据场馆id和点位名称查询信息pStatementEquipmentSelect.setObject(1, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getDeptId());pStatementEquipmentSelect.setObject(2, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getEquipmentName());rs  pStatementEquipmentSelect.executeQuery();if (rs.next()) {//找到了结果了说明已经存在了不需要插入需要更新//获取唯一标识String ipAddress  rs.getString(ip_address);//更新//equipment表pStatementEquUpdate.setString(1, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getEquipmentCode());pStatementEquUpdate.setString(2, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getEquipmentName());pStatementEquUpdate.setLong(3, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getDeptId());pStatementEquUpdate.setString(4, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getLocation());pStatementEquUpdate.setString(5, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getBrandId());pStatementEquUpdate.setString(6, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getTypeId());pStatementEquUpdate.setString(7, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getStateId());pStatementEquUpdate.setString(8, simpleDateFormat.format(equipmentAndDiSanFangVedioEntity.getBaseEquipment().getOnlineDate()));pStatementEquUpdate.setInt(9, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getIsCoreArea());pStatementEquUpdate.setString(10, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getIsExamine());pStatementEquUpdate.setString(11, ipAddress);//disanfangvedio表pStatementDsfUpdate.setLong(1, equipmentAndDiSanFangVedioEntity.getBaseDisanfangvedio().getRegionkey());pStatementDsfUpdate.setString(2, equipmentAndDiSanFangVedioEntity.getBaseDisanfangvedio().getEquipmentName());pStatementDsfUpdate.setString(3, equipmentAndDiSanFangVedioEntity.getBaseDisanfangvedio().getProvinceId());pStatementDsfUpdate.setString(4, equipmentAndDiSanFangVedioEntity.getBaseDisanfangvedio().getCityId());pStatementDsfUpdate.setString(5, equipmentAndDiSanFangVedioEntity.getBaseDisanfangvedio().getDistrictId());pStatementDsfUpdate.setString(6, equipmentAndDiSanFangVedioEntity.getBaseDisanfangvedio().getVenueId());pStatementDsfUpdate.setString(7, equipmentAndDiSanFangVedioEntity.getBaseDisanfangvedio().getRealTimeVideoAddress());pStatementDsfUpdate.setString(8, simpleDateFormat.format(equipmentAndDiSanFangVedioEntity.getBaseDisanfangvedio().getCreateTime()));pStatementDsfUpdate.setString(9, ipAddress);//批量修改pStatementEquUpdate.addBatch();pStatementDsfUpdate.addBatch();} else {//没有找到结果插入数据//equipment表pStatementEquInsert.setString(1, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getEquipmentCode());pStatementEquInsert.setString(2, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getEquipmentName());pStatementEquInsert.setLong(3, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getDeptId());pStatementEquInsert.setString(4, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getLocation());pStatementEquInsert.setString(5, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getBrandId());pStatementEquInsert.setString(6, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getTypeId());pStatementEquInsert.setString(7, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getIpAddress());pStatementEquInsert.setString(8, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getStateId());pStatementEquInsert.setString(9, simpleDateFormat.format(equipmentAndDiSanFangVedioEntity.getBaseEquipment().getOnlineDate()));pStatementEquInsert.setInt(10, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getIsCoreArea());pStatementEquInsert.setString(11, equipmentAndDiSanFangVedioEntity.getBaseEquipment().getIsExamine());//批量添加pStatementEquInsert.addBatch();//判断视频地址是否为空//  if(Strings.isNotBlank( equipmentAndDiSanFangVedioEntity.getBaseDisanfangvedio().getRealTimeVideoAddress())){//不为空的话需要给视频表里面维护数据//disanfangvedio表pStatementDsfInsert.setLong(1, equipmentAndDiSanFangVedioEntity.getBaseDisanfangvedio().getRegionkey());pStatementDsfInsert.setString(2, equipmentAndDiSanFangVedioEntity.getBaseDisanfangvedio().getEquipmentName());pStatementDsfInsert.setString(3, equipmentAndDiSanFangVedioEntity.getBaseDisanfangvedio().getProvinceId());pStatementDsfInsert.setString(4, equipmentAndDiSanFangVedioEntity.getBaseDisanfangvedio().getCityId());pStatementDsfInsert.setString(5, equipmentAndDiSanFangVedioEntity.getBaseDisanfangvedio().getDistrictId());pStatementDsfInsert.setString(6, equipmentAndDiSanFangVedioEntity.getBaseDisanfangvedio().getVenueId());pStatementDsfInsert.setString(7, equipmentAndDiSanFangVedioEntity.getBaseDisanfangvedio().getRealTimeVideoAddress());pStatementDsfInsert.setString(8, equipmentAndDiSanFangVedioEntity.getBaseDisanfangvedio().getDeviceId());pStatementDsfInsert.setString(9, simpleDateFormat.format(equipmentAndDiSanFangVedioEntity.getBaseDisanfangvedio().getCreateTime()));//批量添加pStatementDsfInsert.addBatch();// }}}//批量添加操作int[] pStatementEquCounts  pStatementEquInsert.executeBatch();int[] pStatementDsfCounts  pStatementDsfInsert.executeBatch();//批量修改操作int[] pStatementEquUpdateCounts  pStatementEquUpdate.executeBatch();int[] pStatementDsfUpdateCounts  pStatementDsfUpdate.executeBatch();System.out.println(批量添加的情况equipment表  pStatementEquCounts.lengthdisanfangvedio表pStatementDsfCounts.length);System.out.println(批量修改的情况equipment表  pStatementEquUpdateCounts.lengthdisanfangvedio表pStatementDsfUpdateCounts.length);//批量clearpStatementEquInsert.clearBatch();pStatementDsfInsert.clearBatch();pStatementEquUpdate.clearBatch();pStatementDsfUpdate.clearBatch();} catch (Exception e) {e.printStackTrace();} finally {closeResultSet(rs);closePreparedStatement(pStatementEquInsert);closePreparedStatement(pStatementDsfInsert);closePreparedStatement(pStatementEquUpdate);closePreparedStatement(pStatementDsfUpdate);closePreparedStatement(pStatementEquipmentSelect);closeConnection(connection);}}注意事项类似这种直接操作数据表的一定要先把表备份一下安全起见excel表格中先只保留一行数据解析导入没有问题的话在导入整个表一定要-先备份先备份先备份
http://www.pierceye.com/news/756008/

相关文章:

  • 策划方案网站wordpress设置视频图片
  • 餐饮设计网站有哪些做副业的网站
  • 如何建设一个电子商务网站四川网站建设电话
  • 网站制作学习学网站开发顺序
  • 外语网站建设怎么知道网站的ftp
  • 苏州专业做网站的公司有哪些网络机柜定制
  • 提供服务的网站免费的进销存软件哪个简单好用
  • 长沙县政务网站网络公司名字大全寓意
  • 网站后台凡科建设有做网站维护的
  • 搭建网站需要什么软件上海在线
  • led灯外贸网站建设网站代码怎么优化
  • 网站建设维护什么意思江苏网络推广专员
  • 潍坊网站开发asp培训珠海市网站建设公司
  • 用什么做响应式网站建行个人余额查询网站
  • 做网站网站代理怎么找客源企业团建公司
  • 电子商务网站开发实战济南兼职做网站
  • 怎样创建网站视频学历提升的重要性
  • 百度搜索引擎录入网站1_ 掌握网站开发的基本流程 要求:熟悉网站开发与设计的基本流程.
  • 广州做网站建设如何在别人网站挂黑链
  • 宁德北京网站建设任丘建设银行网站
  • 积极加强网站建设连锁会员管理系统
  • 河南做外贸网站的公司简介wordpress做教育网站
  • 兴城做网站推广的企业网站后台管理软件
  • 自定义优定软件网站建设申请永久网站空间
  • 免费发布信息的网站平台怎么做网站统计
  • 制作网站的过程是对信息的龙海市住房和城乡建设局网站
  • 鱼台县建设局网站免费ppt模板制作软件
  • 质量好网站建设多少钱黄冈网站建设哪家快些
  • 使用阿里云部署wordpressseo搜索排名影响因素主要有
  • 大连制作网站建站教程图解