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

衡阳网站建设专家wordpress 5.2设置中文

衡阳网站建设专家,wordpress 5.2设置中文,留学网站建设,广东省建设工程执业资格注册中心网站文章目录 一、分类管理1.1 表结构介绍1.2 分类列表查询 二、EasyExcel使用2.1 EasyExcel简介2.2 导出功能2.3 导入功能 三、品牌管理3.1 表结构介绍3.2 列表查询3.3 添加品牌3.4 修改品牌3.5 删除品牌 一、分类管理 分类管理就是对商品的分类数据进行维护。 1.1 表结构介绍 分… 文章目录 一、分类管理1.1 表结构介绍1.2 分类列表查询 二、EasyExcel使用2.1 EasyExcel简介2.2 导出功能2.3 导入功能 三、品牌管理3.1 表结构介绍3.2 列表查询3.3 添加品牌3.4 修改品牌3.5 删除品牌 一、分类管理 分类管理就是对商品的分类数据进行维护。 1.1 表结构介绍 分类数据所对应的表结构如下所示分类数据是具有层级结构的。 CREATE TABLE category (id bigint NOT NULL AUTO_INCREMENT COMMENT 分类id,name varchar(50) DEFAULT NULL COMMENT 分类名称,image_url varchar(200) DEFAULT NULL,parent_id bigint DEFAULT NULL COMMENT 父分类id,status tinyint DEFAULT NULL COMMENT 是否显示[0-不显示1显示],order_num int DEFAULT NULL COMMENT 排序,create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间,is_deleted tinyint NOT NULL DEFAULT 0 COMMENT 删除标记0:可用 1:不可用,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT9992 DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci COMMENT商品分类1.2 分类列表查询 需求分析 当页面初始化完毕以后此时请求后端接口查询所有的一级分类数据一级分类数据的parent_id为0。当用户点击某一个分类前的小箭头那么此时就需要查询该分类下所对应的所有的子分类数据是一种懒加载实现方式。 话不多说让我们来debug一遍首先来到controller层拿到前端传来的第一级id值 进入业务层根据id值从数据库中查询数据可以看到我这里有10条数据 下图的for循环是用来判断该分类下是否有子节点有子节点就设置字段hasChildren为true前端根据hasChildren的值来展示样式。 对应的两个SQL语句如下 Mapper public interface CategoryMapper {Select(select * from category where parent_id #{parentId} and is_deleted 0 order by id desc)ListCategory selectByParentId(Long parentId);Select(select count(*) from category where parent_id #{id} and is_deleted 0)int countByParentId(Long id); }二、EasyExcel使用 后台管理系统是管理、处理企业业务数据的重要工具在这样的系统中数据的导入和导出功能是非常重要的其主要意义包括以下几个方面 提高数据操作效率手动逐条添加或修改数据不仅费时费力而且容易出错此时就可以将大量数据从Excel等表格软件中导入到系统中通过数据导入功能可以直接将表格中的数据批量导入到系统中提高了数据操作的效率。 实现数据备份与迁移通过数据导出功能管理员可以将系统中的数据导出为 Excel 或其他格式的文件以实现数据备份避免数据丢失。同时也可以将导出的数据文件用于数据迁移或其他用途。 方便企业内部协作不同部门可能会使用不同的系统或工具进行数据处理在这种情况下通过数据导入和导出功能可以方便地转换和共享数据促进企业内部协作。 2.1 EasyExcel简介 官网地址https://easyexcel.opensource.alibaba.com/ EasyExcel 的主要特点如下 高性能EasyExcel 采用了异步导入导出的方式并且底层使用 NIO 技术实现使得其在导入导出大数据量时的性能非常高效。 易于使用EasyExcel 提供了简单易用的 API用户可以通过少量的代码即可实现复杂的 Excel 导入导出操作。 可扩展性好EasyExcel 具有良好的扩展性用户可以通过自定义 Converter 对自定义类型进行转换或者通过继承 EasyExcelListener 来自定义监听器实现更加灵活的需求。 2.2 导出功能 需求说明 当用户点击导出按钮的时候此时将数据库中所有分类的数据导出到一个excel文件中如图所示 首先引入依赖 dependencygroupIdcom.alibaba/groupIdartifactIdeasyexcel/artifactIdversion3.1.0/version /dependency接着定义一个实体类来封装每一行的数据 Data AllArgsConstructor NoArgsConstructor public class CategoryExcelVo {ExcelProperty(value id ,index 0)private Long id;ExcelProperty(value 名称 ,index 1)private String name;ExcelProperty(value 图片url ,index 2)private String imageUrl ;ExcelProperty(value 上级id ,index 3)private Long parentId;ExcelProperty(value 状态 ,index 4)private Integer status;ExcelProperty(value 排序 ,index 5)private Integer orderNum; }debug看一遍流程来到controller层 来到业务层首先设置响应结果类型接着查询分类表可以看到查询到了703条数据 数据库查询到的数据不是我们需要的数据格式因此需要将数据库查询到的数据转换成自己定义的CategoryExcelVo类格式。 SQL语句编写如下 Select(select id, name, image_url, parent_id, status, order_num from category where is_deleted 0 order by id)ListCategory selectAll();2.3 导入功能 需求说明 当用户点击导入按钮的时候此时会弹出一个对话框让用户选择要导入的excel文件选择完毕以后将文件上传到服务端服务端通过easyExcel解析文件的内容然后将解析的结果存储到category表中。如下所示 通过EasyExcel的操作文档对于导入功能我们需要创建监听器类ExcelListener让其实现ReadListener接口。 public class ExcelListenerT implements ReadListenerT {/*** 每隔100条将数据存入数据库*/private static final int BATCH_COUNT 100;/*** 缓存的数据*/private ListT cachedDataList ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);private CategoryMapper categoryMapper;public ExcelListener(CategoryMapper categoryMapper) {this.categoryMapper categoryMapper;}//每解析一行数据就会调用一次该方法Overridepublic void invoke(T o, AnalysisContext analysisContext) {cachedDataList.add(o);//达到BATCH_COUNT时,需要去存储一次数据库防止数据几万条数据在内存,容易OOMif (cachedDataList.size() BATCH_COUNT) {saveData();//存储完成,清理listcachedDataList ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);}}//excel解析完毕以后需要执行的代码,这里也要保存数据确保最后遗留的数据也存储到数据库Overridepublic void doAfterAllAnalysed(AnalysisContext analysisContext) {saveData();}//保存数据到数据库private void saveData() {categoryMapper.batchInsert(cachedDataList);} }这里的批量插入SQL语句编写如下 !-- T void batchInsert(ListT cachedDataList);--insert idbatchInsertinsert into category valuesforeach collectioncachedDataList itemitem separator,(#{item.id}, #{item.name}, #{item.imageUrl}, #{item.parentId},#{item.status}, #{item.orderNum},now(), now(), 0)/foreach/insert创建好监听器接下来让我们debug首先来到controller层接收文件01.xlsx 来到业务层首先创建监听器类然后调用read方法读取excel数据。 三、品牌管理 品牌管理就是对商品所涉及到的品牌数据进行维护。 3.1 表结构介绍 CREATE TABLE brand (id bigint NOT NULL AUTO_INCREMENT COMMENT ID,name varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT 品牌名称,logo varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT 品牌图标,create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间,is_deleted tinyint NOT NULL DEFAULT 0 COMMENT 删除标记0:可用 1:不可用,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT6 DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci COMMENT分类品牌3.2 列表查询 需求说明 当品牌管理页面加载完毕以后就向后端发送分页查询请求后端进行分页查询返回分页结果数据。 继续debug在controller层接收到分页参数信息 业务层代码也很简单分页查询品牌数据我这里只查到了2条数据 SQL语句的编写也很容易 Select(select * from brand where is_deleted 0 order by id desc)ListBrand findByPage();3.3 添加品牌 需求说明 用户点击添加按钮填写表单数据点击提交按钮请求后端接口完成数据的保存操作。效果如下所示 controller层获取品牌name、logo图片地址 业务层将数据存入品牌表 SQL语句编写如下 Insert(insert into brand (name, logo, create_time, update_time, is_deleted)\n values (#{name}, #{logo}, now(), now(), 0))void save(Brand brand);3.4 修改品牌 需求说明 当用户点击修改按钮的时候对话框中需要将当前行所对应的品牌数据在该表单页面进行展示。当用户在该表单中点击提交按钮的时候那么此时就需要将表单进行提交在后端需要提交过来的表单数据修改数据库中的即可。 controller拿到修改的数据我这里只修改了name字段 业务层根据实体类修改品牌表。 修改操作对应的SQL语句如下 !-- void updateById(Brand brand);--update idupdateByIdupdate brand setif testname ! null and name ! name #{name},/ifif testlogo ! null and logo ! logo #{logo},/ifupdate_time now()whereid #{id}/update3.5 删除品牌 需求说明 当点击删除按钮的时候此时需要弹出一个提示框询问是否需要删除数据如果用户点击是那么此时向后端发送请求传递id参数后端接收id参数进行逻辑删除。 来到controller层获取到要删除品牌的id值 业务层也同样很简单简单的更新语句 SQL编写如下 Update(update brand set is_deleted 1,update_time now() where id #{id})void deleteById(Long id);
http://www.pierceye.com/news/51434/

相关文章:

  • 公众号投票怎么制作文章优化关键词排名
  • 成都便宜做网站的沧州句号网络科技有限公司
  • 阿里巴巴网站分类板块做全屏慈溪做网站的公司
  • 注册企业在哪个网站茂名市城乡和住房建设局网站
  • 自学做蛋糕的网站企业网络推广网站建设
  • asp.net 网站强制兼容性运行什么网站可以做字体效果
  • 网站设计十大品牌中软属于国企还是央企
  • 青岛网站设计公司开发公司解决停车费贵的发言稿
  • 模板在线制作seo专员是干嘛的
  • 宜昌手机网站制作网络服务器无响应原因
  • 关于教做鞋的网站网络平台怎么制作
  • 住房和城乡建设局部网站滨州做网站建设价格
  • 初级网站建设深圳做二维码网站
  • Php做网站创业wordpress二维码登录
  • 做企业网站多少钱一个人怎么开发自己的app
  • 重庆免费网站建设美乐乐是哪个公司做的网站
  • 查企业营业执照的网站废品回收在哪个网站做效果好
  • 怀化 网站建设上海网站建设内容更新
  • 网站怎么实现两种语言wordpress 插件权限
  • 平衡木网站建设wordpress头部高度
  • 新西兰签证网站开发wordpress 建站 搜索
  • python网站开发实践如何建设 营销型 网站
  • 300网站建设华星建设集团网站
  • 珠海市手机网站建设公司建设网站程序下载
  • 两性做受技巧视频网站珠海网站建设找哪家
  • 扬州网站建设 天维个人网站模板响应式
  • 蛋糕网站案例百度风云榜排行榜
  • 网站怎么做域名解析手机如何制作ppt
  • 学ui设计网站可否用nas做网站
  • 阜阳哪里做网站网站建设费用计入什么会计科目