上虞网站建设哪家好做一个手机网站成本

web/2025/10/5 9:04:53/文章来源:
上虞网站建设哪家好,做一个手机网站成本,今天西安新消息,公共资源交易中心主任级别Apache POI是Apache软件基金会的开源项目#xff0c;POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 Apache POI 代码实现复杂#xff0c;学习成本较高。 Easypoi 功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出…Apache POI是Apache软件基金会的开源项目POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 Apache POI 代码实现复杂学习成本较高。 Easypoi 功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法 EasyPOI官网EasyPoi教程_V1.0 环境搭建 1搭建springboot项目 2导入依赖 !-- 引入easyPOI --dependencygroupIdcn.afterturn/groupIdartifactIdeasypoi-spring-boot-starter/artifactIdversion4.2.0/version/dependency EasyPOI相关注解 easypoi 起因就是Excel的导入导出,最初的模板是实体和Excel的对应,model--row,filed--col 这样利用注解我们可以和容易做到excel到导入导出 经过一段时间发展,现在注解有5个类分别是 Excel 作用到filed上面,是对Excel一列的一个描述ExcelCollection 表示一个集合,主要针对一对多的导出,比如一个老师对应多个科目,科目就可以用集合表示ExcelEntity 表示一个继续深入导出的实体,但他没有太多的实际意义,只是告诉系统这个对象里面同样有导出的字段ExcelIgnore 和名字一样表示这个字段被忽略跳过这个导导出ExcelTarget 这个是作用于最外层的对象,描述这个对象的id,以便支持一个对象可以针对不同导出做出不同处理 ExcelTarget 1.说明 - 用在实体类上标识是一个可以通过EasyPOI导入导出的实体类 - 相关属性: value:  [String][定义id唯一标识,不能重复]    常用 height: [Double][定义单元格高度] fontSize:[short ][定义单元格字体大小] 2.使用 ExcelTarget(users) public class User implements Serializable {//..... 省略属性 相关GET,SET方法 } Excel # 1.说明 - 用在filed(属性)上面,是对Excel一列的一个描述 - 常用属性:  name :  [String][生成Excel表格中列名] needMerge: [boolean][是否需要纵向合并单元格(用于含有list中,单个的单元格,合并list创建的多个row)] orderNum :       [String][指定生成Excel中列的顺序,按照数字自然顺序排序] savePath :       [String][指定导入Excel中图片的保存路径] type :       [String][导出类型 1 是文本 2 是图片,3 是函数,10 是数字 默认是文本] width    : [Double][指定导出Excel时列的宽度] isImportField:   [boolean][是否是导入字段,如果没有说明是错误的Excel] exportFormat:    [String][导出Excel的时间格式] importFormat:    [String][导入Excel的时间格式] format :       [String][相当于同时设置了exportFormat和importFormat] imageType:   [int   ][导出类型 1 从file读取 2 是从数据库中读取 默认是文件 同样导入也是一样的] suffix :       [String][文字后缀,如% 90 变成90%] 2.使用 public class User implements Serializable {Excel(name编号,orderNum1,replace {xxx_1,nnn_2})private String id;Excel(name姓名,orderNum2)private String name;Excel(name年龄,orderNum4,suffix $)private Integer age;Excel(name生日,orderNum 3,width 20.0,exportFormat yyyy年MM月dd日)private Date bir;//...省略GET、SET方法 } ExcelEntity 1.说明 - 标记是不是导出excel 标记为实体类,一遍是一个内部属性类,标记是否继续穿透 - 常用属性: name: [String][定义唯一标识] 2.使用 ExcelTarget(users) public class User implements Serializable { //... 省略GET SET和其他属性ExcelEntity(name身份信息)private Card card; }ExcelTarget(card) public class Card implements Serializable {Excel(name身份证号,orderNum 6)private String id;Excel(name家庭住址,orderNum 7)private String address; } ExcelCollection 1.说明 - 一对多的集合注解,用以标记集合是否被数据以及集合的整体排序 - 常用属性: name: [String][定义集合列名] orderNum:[int][用来指定导出excel集合内列的顺序] type:     [Class\?][用来指定导出是创建对象类型]  2.使用 ExcelTarget(users) public class User implements Serializable { //....省略GET SET其他属性 ExcelCollection(name订单,orderNum 5)private ListOrder orders; }ExcelTarget(orders) public class Order implements Serializable { //....省略GET SET方法Excel(name 订单编号)private String id;Excel(name 订单名称)private String name; } ExcelIgnore  .说明 用在属性上导出Excel时忽略这个属性 导出Excel 导出基本数据  注意:导出Excel的对象必须实现对象序列化接口 1定义对象 Data ExcelTarget(users) public class User implements Serializable {ExcelIgnoreExcel(name编号,orderNum1)private String id;Excel(name姓名,orderNum2)private String name;Excel(name年龄,orderNum3,suffix )private Integer age;Excel(name生日,orderNum4,width 35.0,format yyyy-MM-dd HH:mm:ss)private Date birthday;Excel(name 状态 ,orderNum5,replace {激活_1,未激活_0})private String status; }2定义测试数据 public ListUser getUsers(){ListUser users new ArrayList();for (int i 0; i 10; i) {User user new User();user.setId(String.valueOf(i));user.setName(向阳);user.setAge(16i);user.setBirthday(new Date());user.setStatus(String.valueOf(i%2));users.add(user);}return users;} 3导出Excel Testpublic void testExport() throws Exception {//1.配置对象 2.导出类型 3.导出数据集合Workbook workbook ExcelExportUtil.exportExcel(new ExportParams(用户列表, 测试), User.class, getUsers());FileOutputStream outputStream new FileOutputStream(C:\\Users\\86187\\Desktop\\user.xls);workbook.write(outputStream);outputStream.close();workbook.close();} 4查看Excel 导出List集合 1说明 - 往往有时候导出的对象中含有数组或者集合,需要导出这样的数据可以直接使用Excel进行导出 2使用 Data ExcelTarget(users) public class User implements Serializable {Excel(name 爱好,width20.0,orderNum 6)private ListString hobby; } 3) 改换格式 // Excel(name 爱好,width20.0,orderNum 6)ExcelIgnoreprivate ListString hobby;Excel(name 爱好,width20.0,orderNum 6)private String hobbystr;//自定义格式public String getHobbystr() {StringBuilder sb new StringBuilder();this.hobby.forEach(s - sb.append(s).append(、) );return sb.toString();} 导出对象中含有的对象 - 导出对象中含有对象的Excel Data ExcelTarget(users) public class User implements Serializable {//定义对象ExcelEntity(namecard)private Card card; }ExcelTarget(card) public class Card implements Serializable {Excel(name身份证号,orderNum 6)private String id;Excel(name家庭住址,orderNum 7)private String address; } 为导出对象赋值 public ListUser getUsers(){ListUser users new ArrayList();for (int i 0; i 10; i) {User user new User();user.setId(String.valueOf(i));user.setName(向阳);user.setAge(16i);user.setBirthday(new Date());user.setStatus(String.valueOf(i%2));user.setHobby(Arrays.asList(抽烟,喝酒,烫头));user.setCard(new Card(11000103422323212342,北京市朝阳区));users.add(user);}return users; } 导出Excel //1.配置对象 2.导出类型 3.导出数据集合 Workbook workbook ExcelExportUtil.exportExcel(new ExportParams(用户列表, 测试), User.class, getUsers()); FileOutputStream outputStream new FileOutputStream(C:\\Users\\86187\\Desktop\\user.xls); workbook.write(outputStream); outputStream.close(); workbook.close(); 导出图片 - 往往随着业务不断变化,可能需要在导出excel时将图片信息也一并导出,如商品图标,用户头像信息等数据,这个时候easypoi该如何处理呢? ExcelTarget(users) public class User implements Serializable {Excel(name 头像信息,type 2,orderNum 0,width 12,height 12)private String photo;//定义头像 直接写指定图片路径 } 准备图片放入指定路径中,并在测试数据中进行赋值  public ListUser getUsers(){ListUser users new ArrayList();for (int i 0; i 10; i) {User user new User();user.setId(String.valueOf(i));user.setName(向阳);user.setAge(16i);user.setBirthday(new Date());user.setStatus(String.valueOf(i%2));user.setHobby(Arrays.asList(抽烟,喝酒,烫头));user.setCard(new Card(11000103422323212342,北京市朝阳区));user.setPhoto(C:\\Users\\86187\\Desktop\\桌面.png);users.add(user);}return users; } 导出Excel查看结果 导入Excel  导入基本数据 1) 准备导入的目标Excel 2) 定义导出数据基本对象 Data ExcelTarget(emps) public class Emp implements Serializable {Excel(name编号)private String id;Excel(name姓名)private String name;Excel(name年龄)private Integer age;Excel(name生日,format yyyy-MM-dd HH:mm:ss)private Date bir;Excel(name状态,replace {激活_1,未激活_0})private String status;Excel(name头像,type 2,savePath I:\\resources\\static)private String photo; } 3) 导入excel中数据  Testpublic void testImportExcel()throws Exception{ImportParams params new ImportParams();params.setTitleRows(1); //标题列占几行params.setHeadRows(1); //列名占几行params.setNeedSave(true);params.setSaveUrl(I:\\msb_hejiayun\\easypoi_boot\\src\\main\\resources\\static);ListEmp list ExcelImportUtil.importExcel(new FileInputStream(C:\\Users\\86187\\Desktop\\emp.xls), Emp.class, params);list.forEach(System.out::println);} 多Sheet页导入导出  - 读取指定的sheet 比如要读取上传得第二个sheet 那么需要把startSheetIndex 1 就可以了 - 读取几个sheet  比如读取前2个sheet,那么 sheetNum2 就可以了 - 读取第二个到第五个sheet 设置 startSheetIndex 1 然后sheetNum 4 - 读取全部的sheet sheetNum  设置大点就可以了 - 判断一个Excel是不是合法的Excel  importFields 设置下值,就是表示表头必须至少包含的字段,如果缺一个就是不合法的excel,不导入   准备表格,创建对应实体 Data ExcelTarget(loginUser) public class LoginUser implements Serializable {Excel(name 用户ID,orderNum 1)private String id;Excel(name 昵称,orderNum 2)private String nickname;Excel(name 密码,orderNum 3)private String password;Excel(name注册时间,orderNum4,format yyyy-MM-dd HH:mm:ss)private Date createTime;Excel(name 状态 ,orderNum5,replace {VIP_1,普通用户_0})private String status;} Data ExcelTarget(loginUrl) public class LoginUrl implements Serializable {Excel(name 用户ID,orderNum 1)private String userId;Excel(name 请求类型,orderNum 2)private String type;Excel(name 访问地址,orderNum 3)private String url; } 多sheet导入方法 /*** 功能描述根据接收的Excel文件来导入多个sheet,根据索引可返回一个集合* param filePath 导入文件路径* param sheetIndex 导入sheet索引* param titleRows 表标题的行数* param headerRows 表头行数* param pojoClass Excel实体类* return*/public static T ListT importMultiSheet(String filePath,int sheetIndex,Integer titleRows, Integer headerRows, ClassT pojoClass) {// 根据file得到Workbook,主要是要根据这个对象获取,传过来的excel有几个sheet页ImportParams params new ImportParams();// 第几个sheet页params.setStartSheetIndex(sheetIndex);params.setTitleRows(titleRows);params.setHeadRows(headerRows);//是否保存本次上传的excelparams.setNeedSave(false);//表示表头必须包含的字段,不包含 就报错.params.setImportFields(new String[]{用户ID});ListT list null;try {list ExcelImportUtil.importExcel(new FileInputStream(filePath), pojoClass, params);} catch (Exception e) {e.printStackTrace();}return list;} //测试多sheet导入Testpublic void testImportMultiSheet() throws Exception {String excelPath C:\\Users\\86187\\Desktop\\login.xls;ListLoginUser loginUserList this.importMultiSheet(excelPath, 0, 1, 1, LoginUser.class);loginUserList.forEach(System.out::println);ListLoginUrl loginUrlList this.importMultiSheet(excelPath, 1, 1, 1, LoginUrl.class);loginUrlList.forEach(System.out::println);} 多sheet导出方法 public void exportMultiSheet(Object... objects) throws Exception {//创建参数对象,用于设定Excel的sheet页内容等信息ExportParams loginUserExportParams new ExportParams();//设置sheet的名称loginUserExportParams.setSheetName(登录用户);loginUserExportParams.setTitle(登录用户列表);//使用map创建sheet1HashMapString, Object sheet1Map new HashMap();//设置titlesheet1Map.put(title,loginUserExportParams);//设置导出的实体类型sheet1Map.put(entity,LoginUser.class);//sheet中要填充的数据sheet1Map.put(data,objects[0]);/////创建参数对象,用于设定Excel的sheet页内容等信息ExportParams loginUrlExportParams new ExportParams();//设置sheet的名称loginUrlExportParams.setSheetName(URL路径);loginUrlExportParams.setTitle(URL路径);//使用map创建sheet2HashMapString, Object sheet2Map new HashMap();//设置titlesheet2Map.put(title,loginUrlExportParams);//设置导出的实体类型sheet2Map.put(entity,LoginUrl.class);//sheet中要填充的数据sheet2Map.put(data,objects[1]);//将sheet1和sheet2 进行包装ListMapString,Object sheetList new ArrayList();sheetList.add(sheet1Map);sheetList.add(sheet2Map);//执行方法Workbook workbook ExcelExportUtil.exportExcel(sheetList, ExcelType.HSSF);FileOutputStream outputStream new FileOutputStream(C:\\Users\\86187\\Desktop\\exportLogin.xls);workbook.write(outputStream);outputStream.close();workbook.close();} //测试多sheet导出Testpublic void testExportMultiSheet() throws Exception {ListLoginUser sheet1 new ArrayList();sheet1.add(new LoginUser(1001, 向阳, 123456, new Date(), 0));sheet1.add(new LoginUser(1002, 文渊, 123456, new Date(), 1));sheet1.add(new LoginUser(1003, 小李, 123456, new Date(), 0));ListLoginUrl sheet2 new ArrayList();sheet2.add(new LoginUrl(1001, get, http://127.0.0.1:8080));sheet2.add(new LoginUrl(1001, post, http://127.0.0.1:8080/logingout));exportMultiSheet(sheet1,sheet2);} 集成web实现导入导出 前端代码 !DOCTYPE html html langen xmlns:thhttp://www.thymeleaf.org headmeta charsetUTF-8title导入excel的主页面/titlelink relstylesheet hrefhttps://cdn.jsdelivr.net/npm/bootstrap3.3.7/dist/css/bootstrap.min.css integritysha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4VaPmSTsz/K68vbdEjh4u crossoriginanonymous /head body div classcontainer-fluiddiv classrowdiv classcol-md-12h1选择Excel文件导入到数据中/h1form th:action{/course/importExcel} methodpost enctypemultipart/form-data classform-inlinediv classform-groupinput classform-control typefile nameexcelFileinput typesubmit classbtn btn-danger value导入数据/div/form/divdiv classcol-md-12h1显示导入数据列表/h1table classtable table-bordered trthID编号/thth订单编号/thth课程名称/thth课程简介/thth课程价格/th/trtr th:eachcourse : ${courses}td th:text${course.cid}/tdtd th:text${course.orderno}/tdtd th:text${course.cname}/tdtd th:text${course.brief}/tdtd th:text${course.price}/td/tr/tablehra th:href{/course/exportExcel} classbtn btn-info 导出excel/a/div/div /div /body /html Controller层  Controller RequestMapping(/course) public class CourseController {Autowiredprivate CourseService courseService;RequestMapping(/findAll)public String findAll(Model model){ListCourse courses courseService.findAll();System.out.println(courses);model.addAttribute(courses,courses);return index;}//导入ExcelRequestMapping(/importExcel)public String importExcel(MultipartFile excelFile) throws Exception {ImportParams params new ImportParams();params.setTitleRows(1); //设置1级标题行为一行params.setHeadRows(1); //设置header标题行为一行ListCourse courseList ExcelImportUtil.importExcel(excelFile.getInputStream(), Course.class, params);courseService.save(courseList);return redirect:/course/findAll;}//导出ExcelRequestMapping(/exportExcel)public void exportExcel(HttpServletResponse response)throws Exception{//查询数据库的所有数据ListCourse courseList courseService.findAll();//生成ExcelWorkbook workbook ExcelExportUtil.exportExcel(new ExportParams(课程信息列表, 课程信息),Course.class, courseList);response.setHeader(content-disposition,attachment;fileName URLEncoder.encode(课程信息列表.xls,UTF-8));ServletOutputStream outputStream response.getOutputStream();workbook.write(outputStream);outputStream.close();workbook.close();}} Service层 public interface CourseService {//查询所有ListCourse findAll();//插入记录void save(ListCourse courses); }Service public class CourseServiceImpl implements CourseService {Autowiredprivate CourseDao courseDao;Overridepublic ListCourse findAll() {return courseDao.findAll();}Overridepublic void save(ListCourse courses) {courses.forEach(course - {course.setCid(null); //自动生成ID 不使用Excel中的编号courseDao.save(course);});} } dao层 Mapper public interface CourseDao {//查询所有ListCourse findAll();//插入记录void save(Course course); } XML  !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.mashibing.mapper.CourseDao!--查询所有--select idfindAll resultTypeCourseSELECT cid,orderno,cname,brief,price FROM course;/select!-- 插入记录 --insert idsave parameterTypeCourse INSERT INTO course VALUES (#{cid},#{orderno},#{cname},#{brief},#{price})/insert /mapper

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

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

相关文章

尤溪网站开发广西北海网站建设

在以前的博客中陆续记录了有关查询效率方面的文章。今天在整理一下,写上自己的一些心得记录如下:常见查询慢的原因常见的话会有如下几种:1、没有索引或没有用到索引。PS:索引用来快速地寻找那些具有特定值的记录,所有M…

长安网站建设哪家好湖南3合1网站建设

1. QString 字符串类 QString是Qt中的字符串类,与C/C不同的是,不再使用ASCII编码,而使用Unicode编码。因此一个字符不是8位的char,而是16位的QChar,这就是为什么之前一个汉字占用一个字符的原因。、 QString几乎向前兼…

新手想做网站赚钱网站设计与制作报价

基本介绍 栈内存一般是由Go编译器自动分配和释放,其中存储着函数的入参和局部变量,这些参数和变量随着函数调用而创建,当调用结束后也会随之被回收。通常开发者不需要关注内存是分配在堆上还是栈上,这部分由编译器在编译阶段通过…

国际贸易英文网站标志设计课件

继续上一章部署。 八、部署kube-apiserver组件 使用第七章的haproxy和keepalived部署的高可用集群提供的VIP:${MASTER_VIP} 8.1 下载二进制文件,参考 第三章  8.2 创建 kubernetes 证书和私钥 source /opt/k8s/bin/environment.sh cat > kubernetes-…

一个网站两个空间2023免费推广网站

GPADC 模块介绍 GPADC 是 12bit 采集精度的模数转换模块,支持 4 路通道,模拟输入范围 0-1.8v,最高采样率 1MHZ,并且支持数据比较,自校验功能,同时工作于可配置的四种工作模式: Single mode&a…

建设物流网站个人网站备案网址导航

​ 什么是代码混淆? 代码混淆 是一种将应用程序二进制文件转换为功能上等价,但人类难于阅读和理解的行为。在编译 Dart 代码时,混淆会隐藏函数和类的名称,并用其他符号替代每个符号,从而使攻击者难以进行逆向工程。 …

html5自适应网站源码wordpress小清新主题图片

1、配置工具 虽然不怎么好用,但比没有强多了。具体看图: 时钟选着 NVIC配置 GPIO配置 2、生成的具体配置信息 NXP的配置工具里面,具体的波特率可以直接显示,这个工具没有,怎么办? 它放到了生成的代码里面…

微网站策划方案互联网公司岗位有哪些

在很多产品的应用场景中,WIFI网络会给我们提供很多便捷,MCU开发中大多使用串口WIFI蓝牙模块来实现产品接入WIFI网络中。   具体的使用模型如下图所示:整个系统涉及到WIFI网络、手机、服务器平台以及我们设计的产品,一个完整的生…

信息平台网站的建设 文档怎么申请微信公众号

因为之前网上查好多博客都是只说最基础的,所以这里记录一下,最基础的放在最后面。 这里重点要记录的是枚举成员的值可以是字符串(字符串枚举,因为网上大部分只介绍常数枚举),需要注意的一点是,…

怎么提交网站收录如何做机票预订网站

在现代企业的运营管理中,泳道图扮演了至关重要的角色。这种独特的图表工具以其直观、清晰的特点,帮助我们理解和改进复杂的工作流程,从而提升效率。本文将为你分享8款实用且高效的泳道图绘制工具,它们能够帮助你轻松创建出专业级别…

网站建设什么意思手游代理免费平台

相对于 su 需要了解新切换的使用者密码 (常常是需要 root 的密码), sudo 的执行则仅需要自己的密码即可。sudo 可以让你以其他用户的身份执行指令 (通常是使用 root 的身份来执行指令),因此并非所有人都能够…

网站上线过程做网站多钱一年

1.新学到一个东西&#xff0c;将字符串转换为数字的函数stoi&#xff08;string to int 的缩写&#xff09; string str "111111";int a stoi(str);cout << a << endl;//输出111111又用到了字符串截取函数 substr(下标&#xff0c;长度) string s&quo…

2022年中国企业500强名单河南纯手工seo

什么是 CSS? CSS 指层叠样式表 (Cascading Style Sheets)样式定义如何显示 HTML 元素样式通常存储在样式表中把样式添加到 HTML 4.0 中&#xff0c;是为了解决内容与表现分离的问题外部样式表可以极大提高工作效率外部样式表通常存储在 CSS 文件中多个样式定义可层叠为一个 样…

网站推广渠道有哪些自适应h5网站模板

AI绘画工具为设计师提供了强大的功能和便利性&#xff0c;用AI绘画进行艺术创作能够使设计师能够更快地迭代和优化设计方案&#xff0c;提高设计效率。那么怎么用AI绘画完成设计创作? 要使用AI绘画完成设计创作&#xff0c;首先需要选择一个合适的工具。目前市场上有很多优秀的…

对网站有效的优化软件手机网站开发软件

大家好&#xff0c;Python是一种非常流行的编程语言&#xff0c;它易于学习、灵活且功能强大&#xff0c;在各个领域广泛应用。很多人误认为Python是一种面向过程的语言&#xff0c;无法很好地支持面向对象的编程风格。这种观念是错误的&#xff0c;Python不仅支持面向对象编程…

网站收录是什么意思网站建设风景课程设计报告

408答疑 文章目录 一、图的基本概念图的定义非空性非线性结构 顶点和边的表示顶点边 有向图 & 无向图有向图有向图 G 1 G_1 G1​ 的表示 无向图无向图 G 2 G_2 G2​ 的表示 简单图 & 多重图简单图多重图 顶点的度、入度和出度顶点的度有向图的度 路径、路径长度和回路…

网站企业优化wordpress多级分类文章

最近使用一个系统的分布式版本搭建测试环境&#xff0c;该系统是基于MPI实现的并行计算&#xff0c;MPI是传统基于msg的系统&#xff0c;这个框架非常灵活&#xff0c;对程序的结构没有太多约束&#xff0c;高效实用简单&#xff0c;下面是MPI在多台机器上实现并行计算的过程。…

怎样申请网站域名装修高端网站建设

在Vue.js&#xff08;以及更广泛的JavaScript ES6模块系统中&#xff09;中&#xff0c;使用大括号{}进行import操作的场景通常是在你想要从模块中导入具体的导出项时。这种导入方式被称为“命名导入”&#xff08;Named Imports&#xff09;。 命名导入&#xff08;Named Imp…

网页设计什么专业能学宁波外贸网站推广优化

1 介绍 MongoDB 是一种 NoSQL 数据库&#xff0c;它将每个数据存储为一个文档&#xff0c;这里的文档类似于 JSON/BSON 对象&#xff0c;具体数据结构由键值&#xff08;key/value&#xff09;对组成。字段值可以包含其他文档&#xff0c;数组及文档数组。其数据结构非常松散&…

做的asp网站手机号码酷站是什么网站

一、引言 一个算法是由控制结构&#xff08;顺序、分支和循环3种&#xff09;和原操作&#xff08;指固有数据类型的操作&#xff09;构成的&#xff0c;则算法时间取决于两者的综合效果。为了便于比较同一问题的不同算法&#xff0c;通常的做法是&#xff1a;从算法中选取一种…