springboot人事管理系统设计与实现

126springboot人事管理系统java web员工信息管理系统

人事管理系统,属于ERP的一个部分。它单指汇集成功企业先进的人力资源管理理念、人力资源管理实践、人力资源信息化系统建设的经验,以信息技术实现对企业人力资源信息的高度集成化管理,为中国企业使用的人力资源管理解决方案。核心价值在于将人力资源工作者从繁重的日常琐碎事务中解放出来,将更多的精力用于企业的人力资源职能管理和管理决策,保持企业的持续高效运营。 集中记录、监测和分析所有劳动力的技能和资格,提供决策分析。提高企业整体的科技含量与管理效率,加快企业的信息化建设。

 开发工具:idea 

 数据库mysql5.7+(mysql5.7最佳)

 数据库链接工具:navcat,小海豚等

开发技术: springboot  html

 

package cn.zdxh.personnelmanage.controller;import cn.zdxh.personnelmanage.enums.ResultEnum;
import cn.zdxh.personnelmanage.exception.MyException;
import cn.zdxh.personnelmanage.po.BirthdayRecord;
import cn.zdxh.personnelmanage.po.CertificatesInfo;
import cn.zdxh.personnelmanage.po.Contraceptive;
import cn.zdxh.personnelmanage.po.EmployeeInfo;
import cn.zdxh.personnelmanage.service.CertificatesInfoService;
import cn.zdxh.personnelmanage.service.EmployeeInfoService;
import cn.zdxh.personnelmanage.utils.*;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import org.springframework.stereotype.Controller;
import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.InvocationTargetException;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;/*** <p>* 证件情况表 前端控制器* </p>** @author Justin* @since 2019-03-15*/
@Controller
@RequestMapping("/CertificatesInfo")
public class CertificatesInfoController {@Autowiredprivate CertificatesInfoService certificatesInfoService;@Autowiredprivate EmployeeInfoService employeeInfoService;@GetMapping("/list")public String findCertificates(@RequestParam(value = "currentPage", defaultValue = "0") Integer currentPage, @RequestParam(value = "limit", defaultValue = "3") Integer limit, Map<String, Object> map){List<CertificatesInfo> list = certificatesInfoService.findCertificatesInfoAll(currentPage, limit);System.out.println(list);Integer addCount = certificatesInfoService.findCertificatesInfoAllCount();map.put("list", list);map.put("currentPage", currentPage);map.put("totalPage", limit);map.put("operation", "health_certificate_model");map.put("URL", "/CertificatesInfo");return "employee/employee_list";}@GetMapping("/create")public String goCertificationCreate(Map<String, Object> map, ContraceptiveUtils contraceptiveUtils){List<EmployeeInfo> list = employeeInfoService.selectList(null);List<Contraceptive> list1 = contraceptiveUtils.contraceptives();map.put("type", "create");map.put("employees", list);map.put("contraceptive", list1);map.put("operation", "health_certificate_model");map.put("req_url", "/CertificatesInfo/add");return "employee/employee_create";}@GetMapping("/add")public String addCertification(CertificatesInfo certificatesInfo, Map<String, Object> map){if (certificatesInfo != null){System.out.println("certificatesInfo:"+certificatesInfo);certificatesInfoService.insertCertificatesInfo(certificatesInfo);}map.put("operat", "success");return "result/success";}@GetMapping("/update/{id}")public String goCertificationUpda(@PathVariable("id") Integer id, Map<String, Object> map, ContraceptiveUtils contraceptiveUtils){CertificatesInfo certificatesInfo = certificatesInfoService.findCertificatesInfo(id);List<EmployeeInfo> list = employeeInfoService.selectList(null);List<Contraceptive> list1 = contraceptiveUtils.contraceptives();map.put("type", "update");map.put("operation", "health_certificate_model");map.put("req_url", "/CertificatesInfo/update");map.put("employees", list);map.put("contraceptive", list1);map.put("certificatesInfo", certificatesInfo);return "employee/employee_create";}@PostMapping("/update")public String updateCertification(CertificatesInfo certificatesInfo, Map<String, Object> map){CertificatesInfo certificatesInfo1 = certificatesInfoService.findCertificatesInfo(certificatesInfo.getCerId());if (certificatesInfo1 != null){certificatesInfoService.updateCertificatesInfo(certificatesInfo);}map.put("operat", "success");return "result/success";}@DeleteMapping("/delete/{id}")public String deleteCertification(@PathVariable("id") Integer id, Map<String, Object> map){CertificatesInfo certificatesInfo = certificatesInfoService.findCertificatesInfo(id);if (certificatesInfo != null){certificatesInfoService.deleteCertificatesInfo(id);}map.put("operat", "success");return "result/success";}@DeleteMapping("/batchDelete")public String batchDeleteBirth(@RequestParam("data_id") String data_id, Map<String, Object> map){String[] id = data_id.split(",");for (int i = 0; i < id.length; i++){CertificatesInfo certificatesInfo = certificatesInfoService.findCertificatesInfo(Integer.parseInt(id[i]));if (certificatesInfo != null){certificatesInfoService.deleteCertificatesInfo(Integer.parseInt(id[i]));}}return "result/success";}@PostMapping("/search")public String searchBirthRecord(@RequestParam("data") String data, Map<String, Object> map){List<CertificatesInfo> list = certificatesInfoService.findAllCertificatesInfoBySearch(data);map.put("list", list);map.put("operation", "health_certificate_model");return "employee/employee_list";}/*** 功能需求:完成客户端的Excel表数据写入数据库功能** @param file //用户上传的Excel文件* @param uploadUtils //上传文件的工具类 cn.zdxh.personnelmanage.utils.UploadUtils* @return* @throws Exception*/@PostMapping("/updateExcel")@ResponseBodypublic JSONObject updateExcel(@RequestParam("file") MultipartFile file, UploadUtils uploadUtils) throws Exception {JSONObject json = new JSONObject();try {//第一个参数为Excel表,第二个参数为从第几行读取Excel的内容,返回值为一个字符串数组集合(每一个数组代表Excel表的一行数据)List<String[]> list =  uploadUtils.updateExcelUtils(file, 1);//遍历字符串数组集合中的数据for (String[] str:list){//获取实体类对象封装数据(每一个实体类对象封装Excel表中的一行数据)CertificatesInfo certificatesInfo = new CertificatesInfo();//一个工具类,把字符串数组数据封装到实体类对象中,第一个参数为实体类对象,第二个参数为字符串数组ExcelValuesHelperUtils.setAttributeValue(certificatesInfo, str);/*** 在完成Excel表中数据写入数据库操作之前先判断* 该实体类对象的是否为数据库已有(进行更新操作)* 该实体类对象的数据为数据库没有(进行插入操作)*/if (certificatesInfoService.findCertificatesInfo(Integer.parseInt(str[0])) != null){certificatesInfoService.updateCertificatesInfo(certificatesInfo);} else {certificatesInfoService.insertCertificatesInfo(certificatesInfo);}}} catch (Exception e){/*** 做一个报错检测*/throw new MyException(ResultEnum.UPDATE_EXCEL_ERROR.getCode(), ResultEnum.UPDATE_EXCEL_ERROR.getMsg());}//返回客户端的数据json.put("code", 1);json.put("data", "Excel表上传成功!");json.put("ret", true);return json;}/*** 需求功能:完成服务器端把数据库中的数据读出客户端功能** @param response //把生成的Excel表响应到客户端* @throws NoSuchMethodException //报错* @throws IllegalAccessException   //报错* @throws InvocationTargetException    //报错* @throws InstantiationException   //报错*/@GetMapping("/exportExcel")public void exportExcel(HttpServletResponse response) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {//先把数据库中的数据查询出来List<CertificatesInfo> list1 = certificatesInfoService.selectList(null);//一个设置Excel表标题信息的工具类,获取Excel表标题的字符串数组String[] strings = ExcelTitlesHelperUtils.getCertificatesInfoTitles();//一个能把对象集合转换成字符串数组集合的工具类,参数为对象集合,返回字符串数组集合List<Object[]> list = ExcelValuesHelperUtils.exportExcel(list1);try {//一个能创建Excel表并完成发送客户端的工具类,第一个参数为字符串数组集合(Excel表内容),第二个参数为字符串数组(Excel表标题),第三个参数为响应器ExportExcelUtils.createExcelUtils(list, strings, response);} catch (Exception e){//导表发生异常的时候throw new MyException(ResultEnum.EXPORT_EXCEL_ERROR.getCode(),ResultEnum.EXPORT_EXCEL_ERROR.getMsg());}}}

package cn.zdxh.personnelmanage.controller;import cn.zdxh.personnelmanage.enums.ResultEnum;
import cn.zdxh.personnelmanage.exception.MyException;
import cn.zdxh.personnelmanage.form.EmployeeForm;
import cn.zdxh.personnelmanage.po.EmployeeCard;
import cn.zdxh.personnelmanage.po.EmployeeInfo;
import cn.zdxh.personnelmanage.service.EmployeeInfoService;
import cn.zdxh.personnelmanage.utils.ExcelTitlesHelperUtils;
import cn.zdxh.personnelmanage.utils.ExcelValuesHelperUtils;
import cn.zdxh.personnelmanage.utils.ExportExcelUtils;
import cn.zdxh.personnelmanage.utils.UploadUtils;
import net.sf.json.JSONObject;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;import org.springframework.stereotype.Controller;
import org.springframework.web.multipart.MultipartFile;
import org.thymeleaf.util.StringUtils;import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;/*** <p>* 员工信息表 前端控制器* </p>** @author Justin* @since 2019-03-15*/@Controller
@RequestMapping("/employee")
public class EmployeeInfoController {@Autowiredprivate EmployeeInfoService employeeInfoService;/*** 查询所有的员工(默认0到10个)* @GetMapping 表示的是get请求* @ResponseBody 返回的是json的格式(分页时的ajax数据请求)* @param currentPage 当前页* @param limit 每页显示多少个* @return*/@GetMapping("/emps")public String employees(@RequestParam(value = "currentPage",defaultValue = "0") String currentPage, @RequestParam(value = "limit",defaultValue = "2") String limit,Map<String,Object> map){//向数据库查询值List<EmployeeInfo> allEmployees = employeeInfoService.findAllEmployees(Integer.parseInt(currentPage), Integer.parseInt(limit));Integer allCount = employeeInfoService.findAllCount();//存储值,可以在引擎模板中取值(页面中取值)map.put("employees",allEmployees);map.put("totalPage",allCount);//总页数map.put("currentPage",currentPage);//当前页数-1map.put("operation","employee_list_model");//判别标识//employee_list的意思就是employee_list.html页面,并在其中取值,相当于jsp页面return "employee/employee_list";}/*** 在修改之前需要进行一次数据回显,查询某个需要修改的员工* @GetMapping 表示的是get请求* @param id  员工id* @param map 存储值* @return*/@GetMapping("/emp/{id}")public String employee(@PathVariable("id") Integer id,Map<String,Object> map){EmployeeInfo employee = employeeInfoService.findEmployee(id);map.put("employee",employee);map.put("type","update");return "employee/employee_update";}/*** 更新员工信息* @PutMapping 表示的是put请求方式* @param employeeForm 表单传过来的对象* @param bindingResult 表单验证对象* @return*/@PutMapping("/emp/{id}")public String updateEmployee(@Validated EmployeeForm employeeForm, BindingResult bindingResult,@PathVariable("id") Integer id){//数据校验出现错误的时候,需要抛个异常,并且异常捕获到异常页面if (bindingResult.hasErrors()){throw new MyException(ResultEnum.CHECK_ERROR.getCode(),bindingResult.getFieldError().getDefaultMessage());}//封装页面传过来的员工idemployeeForm.setEmpId(id);EmployeeInfo employeeInfo = new EmployeeInfo();//对象属性转换BeanUtils.copyProperties(employeeForm,employeeInfo);employeeInfoService.updateEmployee(employeeInfo);return "result/success";}/*** 仅仅作页面跳转的作用(跳转到新增员工的页面)* @GetMapping get的请求方式* @return*/@GetMapping("/emp")public String insertEmployeeBefore(Map<String, Object> map){map.put("type","create");map.put("operation","employee_create_model");return "employee/employee_create";}/*** 新增员工信息* @PostMapping post方式提交* @param employeeForm* @param bindingResult* @return*/@PostMapping("/emp")public String insertEmployee(@Validated EmployeeForm employeeForm, BindingResult bindingResult){//数据校验出现错误的时候,需要抛个异常,并且异常捕获到异常页面if (bindingResult.hasErrors()){//错误码 ResultEnum.CHECK_ERROR.getCode()//数据校验的具体错误信息  bindingResult.getFieldError().getDefaultMessage()throw new MyException(ResultEnum.CHECK_ERROR.getCode(),bindingResult.getFieldError().getDefaultMessage());}EmployeeInfo employeeInfo = new EmployeeInfo();//对象属性转换BeanUtils.copyProperties(employeeForm,employeeInfo);employeeInfoService.insertEmployee(employeeInfo);return "result/success";}/*** 删除员工* @DeleteMapping delete请求* @param id 员工id* @return*/@DeleteMapping("emp/{id}")public String deleteEmployee(@PathVariable("id") Integer id){employeeInfoService.deleteEmployee(id);return "employee/employee_list";}@DeleteMapping("/batchDelete")public String batchDeleteBirth(@RequestParam("data_id") String data_id, Map<String, Object> map){String[] id = data_id.split(",");for (int i = 0; i < id.length; i++){EmployeeInfo employeeInfo = employeeInfoService.findEmployee(Integer.parseInt(id[i]));if (employeeInfo != null){employeeInfoService.deleteEmployee(Integer.parseInt(id[i]));}}return "result/success";}/*** 根据员工姓名模糊查询员工* @param content* @return*/@PostMapping("/search")public String searchEmployees(String content,Map<String,Object> map){List<EmployeeInfo> employeeInfos = employeeInfoService.findAllEmployeeInfosBySearch(content);//存储值,可以在引擎模板中取值(页面中取值)map.put("employees",employeeInfos);map.put("operation", "employee_list_model");return "employee/employee_list";}/*** 功能需求:完成客户端的Excel表数据写入数据库功能** @param file //用户上传的Excel文件* @param uploadUtils //上传文件的工具类 cn.zdxh.personnelmanage.utils.UploadUtils* @return* @throws Exception*/@PostMapping("/updateExcel")@ResponseBodypublic JSONObject updateExcel(@RequestParam("file") MultipartFile file, UploadUtils uploadUtils) throws Exception {JSONObject json = new JSONObject();try {//第一个参数为Excel表,第二个参数为从第几行读取Excel的内容,返回值为一个字符串数组集合(每一个数组代表Excel表的一行数据)List<String[]> list =  uploadUtils.updateExcelUtils(file, 1);//遍历字符串数组集合中的数据for (String[] str:list){//获取实体类对象封装数据(每一个实体类对象封装Excel表中的一行数据)EmployeeInfo employeeCard = new EmployeeInfo();//一个工具类,把字符串数组数据封装到实体类对象中,第一个参数为实体类对象,第二个参数为字符串数组ExcelValuesHelperUtils.setAttributeValue(employeeCard, str);/*** 在完成Excel表中数据写入数据库操作之前先判断* 该实体类对象的是否为数据库已有(进行更新操作)* 该实体类对象的数据为数据库没有(进行插入操作)*/if (employeeInfoService.findEmployee(Integer.parseInt(str[0])) != null){employeeInfoService.updateEmployee(employeeCard);} else {employeeInfoService.insertEmployee(employeeCard);}}} catch (Exception e){/*** 做一个报错检测*/throw new MyException(ResultEnum.UPDATE_EXCEL_ERROR.getCode(), ResultEnum.UPDATE_EXCEL_ERROR.getMsg());}//返回客户端的数据json.put("code", 1);json.put("data", "Excel表上传成功!");json.put("ret", true);return json;}/*** 需求功能:完成服务器端把数据库中的数据读出客户端功能** @param response //把生成的Excel表响应到客户端* @throws NoSuchMethodException //报错* @throws IllegalAccessException   //报错* @throws InvocationTargetException    //报错* @throws InstantiationException   //报错*/@GetMapping("/exportExcel")public void exportExcel(HttpServletResponse response) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {//先把数据库中的数据查询出来List<EmployeeInfo> list1 = employeeInfoService.selectList(null);//一个设置Excel表标题信息的工具类,获取Excel表标题的字符串数组String[] strings = ExcelTitlesHelperUtils.getEmployeeInfoTitles();//一个能把对象集合转换成字符串数组集合的工具类,参数为对象集合,返回字符串数组集合List<Object[]> list = ExcelValuesHelperUtils.exportExcel(list1);try {//一个能创建Excel表并完成发送客户端的工具类,第一个参数为字符串数组集合(Excel表内容),第二个参数为字符串数组(Excel表标题),第三个参数为响应器ExportExcelUtils.createExcelUtils(list, strings, response);} catch (Exception e){//导表发生异常的时候throw new MyException(ResultEnum.EXPORT_EXCEL_ERROR.getCode(),ResultEnum.EXPORT_EXCEL_ERROR.getMsg());}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/28318.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ppt压缩文件怎么压缩最小?文件压缩技巧分享

在日常的工作和学习中&#xff0c;难免会遇到PPT太大&#xff0c;需要将其压缩变小的情况&#xff0c;但很多朋友还不知道怎么压缩PPT文件&#xff0c;下面就给大家分享几个简单的方法&#xff0c;分分钟缩小过大的PPT文件。 一、PowerPoint PowerPoint就是微软公司的演示文稿…

一、MySql前置知识

文章目录 一、什么是数据库&#xff08;一&#xff09;存储数据用文件就可以了&#xff0c;为什么还要弄个数据库?&#xff08;二&#xff09;数据库存储介质&#xff1a;&#xff08;三&#xff09;主流数据库 二、数据库基本操作&#xff08;一&#xff09;连接服务器&#…

SQL 相关子查询 和 不相关子查询、Exists 、Not Exists、 多表连接(包含自连接)

不相关子查询 子查询的查询条件不依赖于父查询&#xff0c;称不相关子查询。子查询可以单独运行的 select stu_id,sex,age from student t where sex(select sexfrom studentwhere stu_id10023 )相关子查询 关联子查询 子查询的查询条件依赖于父查询&#xff0c;称为 相关子…

数据结构刷题训练——链表篇(三)

目录 文章目录 前言 1. 题目一&#xff1a;环形链表Ⅱ 1.1 思路 1.2 分析 1.3 题解 1.4 方法二 2. 题目二&#xff1a;复制带随机指针的链表 2.1 思路 2.2 分析 2.3 题解 总结 前言 在这个专栏博客中&#xff0c;我们将提供丰富的题目资源和解题思路&#xff0c;帮助读者逐步提…

Flutter(八)事件处理与通知

1.原始指针事件处理 一次完整的事件分为三个阶段&#xff1a;手指按下、手指移动、和手指抬起&#xff0c;而更高级别的手势&#xff08;如点击、双击、拖动等&#xff09;都是基于这些原始事件的。 Listener 组件 Flutter中可以使用Listener来监听原始触摸事件 Listener({…

The Sandbox 与 D.OASIS 联手打造 D.OASIS 城市

我们非常高兴地宣布与 D.OASIS 建立合作伙伴关系&#xff0c;共同打造无与伦比的娱乐体验&#xff1a;The Sandbox 中的 D.OASIS 城市&#xff01; 作为合作的一部分&#xff0c;The Sandbox 和D.OASIS将共同打造 D.OASIS 城市&#xff0c;一座充满无限可能的大都市&#xff0…

TDengine + Telegraf + Grafana 实现图形化服务器状态监控

TDengine Telegraf Grafana 实现图形化服务器状态监控 技术栈环境搭建安装tdenginue下载安装包解压文件运行安装文件启动td运行 taosAdapter 安装Telegraf添加yum源安装生成配置文件修改配置文件启动telegraf 安装Grafana直接yum安装安装td数据源配置启动Grafana配置数据源导…

CentOS 7中,配置了Oracle jdk,但是使用java -version验证时,出现的版本是OpenJDK,如何解决?

1.首先&#xff0c;检查已安装的jdk版本 sudo yum list installed | grep java2.移除、卸载圈红的系统自带的openjdk sudo yum remove java-1.7.0-openjdk.x86_64 sudo yum remove java-1.7.0-openjdk-headless.x86_64 sudo yum remove java-1.8.0-openjdk.x86_64 sudo yum r…

安卓:MMKV——键值存储库

目录 一、MMKV介绍 1.特点和优势&#xff1a; 2.使用指南&#xff1a; 3.依赖包&#xff1a; 二、MMKV的常用方法 1、初始化和获取实例&#xff1a; 2、存储数据&#xff1a; 3、读取数据 4、删除数据 5、其他操作&#xff1a; 三、MMKV的使用例子 MainActivity&#xff…

文件上传漏洞(webshell)

一、防护 1、防护 1、判断文件后缀&#xff0c;为图片的话才让上传成功。 2、解析文件内容&#xff08;文件幻数&#xff09;判断文件头和文件尾部是否一致 幻数 常见的 3、隐藏按钮&#xff08;带上code唯一值&#xff09; 4、二次渲染&#xff08;类似拿着你的图片&#xff…

super父类 事物

一个没有事物的方法。 调用他的父类里有事物的方法。 无论this 和 super 都会让父类事物方法没有事物。 如果写了super.class 文件里面&#xff0c;就是super调用。 如果没写&#xff0c;就是this调用&#xff0c;坑爹 测试&#xff0c;把父类注入&#xff0c;事物才生效。

kubeasz在线安装K8S集群单master

1.基础系统配置 确保在干净的系统上开始安装&#xff0c;不能使用曾经装过kubeadm或其他k8s发行版的环境 系统是Ubuntu 或者CentOS 7 2.下载文件 2.1 下载工具脚本ezdown&#xff0c;举例使用kubeasz版本3.5.0 #此版本默认安装的是 K8S v1.26.0 export release3.5.0 wget h…

[免费在线] 将 PDF 转换为 Excel 或 Excel 转换为 PDF | 5 工具

有了免费的在线 PDF 转换器&#xff0c;您可以轻松免费在线将 PDF 转换为 Excel 或 Excel 转换为 PDF。这篇文章为您筛选了 5 个最常用的工具。要从存储介质恢复错误删除或丢失的 PDF 文档、Excel 电子表格、Word 文件或任何其他文件&#xff0c;您可以使用免费的数据恢复程序 …

DOM基础获取元素+事件基础+操作元素

一.DOM简介 DOM&#xff0c;全称“Document Object Model&#xff08;文档对象模型&#xff09;”&#xff0c;它是由W3C定义的一个标准。 在实际开发中&#xff0c;我们有时候需要实现鼠标移到某个元素上面时就改变颜色&#xff0c;或者动态添加元素或者删除元素等。其实这些效…

Python爬虫(八)_Requests的使用

Requests&#xff1a;让HTTP服务人类 虽然Python的标准库中urllib2模块中已经包含了平常我们使用的大多数功能&#xff0c;但是它的API使用起来让人感觉不太好&#xff0c;而Requests自称"HTTP for Humans"&#xff0c;说明使用更简单方便。 Requests唯一的一个非转…

一周 AIGC 丨苹果下架多款 AIGC 应用,阿里云开源通义千问 70 亿参数模型

多个 AIGC 应用在苹果应用商店下架&#xff0c;包含数据采集和使用不够规范等问题。阿里云开源通义千问 70 亿参数模型&#xff0c;包括通用模型 Qwen-7 B 和对话模型 Qwen-7 B-Chat。腾讯混元大模型开始应用内测&#xff0c;内部多个业务线接入测试。百度智能云“千帆大模型平…

【PostgreSQL内核学习(十一)—— OpenGauss源码学习(CopyTo)】

可优化语句执行 概述什么是列存储&#xff1f;列存的优势 相关函数CopyToCStoreCopyToCopyStatetupleDescCStoreScanDesc CStoreBeginScanRelationSnapshotProjectionInfo GetCStoreNextBatchRunScanFillVecBatchCStoreIsEndScan CStoreEndScan 声明&#xff1a;本文的部分内容…

54款宝藏级AIGC工具分享(claude,Midjourney,Stable Diffusion等)

随着ChatGPT的一波又一波高潮&#xff0c;生成式AI逐渐进入人们视野&#xff0c;并开始大行其道&#xff0c;正如人们所说&#xff1a;AI用的好&#xff0c;天天下班早&#xff01; 当然&#xff0c;有效的利用AI不但能下班早&#xff0c;还能在上班时间摸鱼&#xff0c;就如潘…

【web逆向】全报文加密流量的去加密测试方案

aHR0cHM6Ly90ZGx6LmNjYi5jb20vIy9sb2dpbg 国密混合 WEB JS逆向篇 先看报文&#xff1a;请求和响应都是全加密&#xff0c;这种情况就不像参数加密可以方便全文搜索定位加密代码&#xff0c;但因为前端必须解密响应的密文&#xff0c;因此万能的方法就是搜索拦截器&#xff0c…

0基础学习VR全景平台篇 第78篇:全景相机-拍摄VR全景

新手入门圆周率科技&#xff0c;成立于2012年&#xff0c;是中国最早投身嵌入式全景算法研发的团队之一&#xff0c;亦是全球市场占有率最大的全景算法供应商。相继推出一体化智能屏、支持一键高清全景直播的智慧全景相机--Pilot Era和Pilot One&#xff0c;为用户带来实时畅享…