黑马品优购总结
文章目录项目知识点项目中常用思想项目知识点1.RequestBody–对应实体类封装和RequestParam2.mybatis中example的使用3.下拉框可以多选使用select2-发发权限中有讲到select2当中数据格式 就是下面的data$scope.brandList{data:[{id:1,text:‘联想’},{id:2,text:‘华为’},{id:3,text:‘小米’}]}4.ng-options属性可以在表达式中使用数组或对象来自动生成一个select中的option列表。ng-options与ng-repeat很相似很多时候可以用ng-repeat来代替ng-options。但是ng-options提供了一些好处例如减少内存提高速度以及提供选择框的选项来让用户选择。5.json传数据对象数组对象6.JSON方法总结1JSONField(name“DATE OF BIRTH”, format“dd/MM/yyyy”, ordinal 3)private Date dateOfBirth;注意FastJson 在进行操作时是根据 getter 和 setter 的方法进行的并不是依据 Field 进行。注意若属性是私有的必须有set 方法。否则无法反序列化。2fastjson提供了toJSONString() 和 parseObject() 方法来将 Java 对象与 JSON 相互转换。调用toJSONString方 法即可将对象转换成 JSON 字符串parseObject 方法则反过来将 JSON 字符串转换成对象。注意反序列化时为对象时必须要有默认无参的构造函数否则会报异常。3某些场景下对Value做过滤需要获得所属JavaBean的信息包括类型、字段、方法等。在fastjson-1.2.9中提供了ContextValueFilter类似于之前版本提供的ValueFilter只是多了BeanContext参数可用。JSONArray jsonArray JSON.parseArray(JSON_ARRAY_STR);JSONObject jsonObject JSON.parseObject(COMPLEX_JSON_STR);JSONObject jsonObject JSON.parseObject(JSON_OBJ_STR);将集合转化为mapListimageList JSON.parseArray(goods.getGoodsDesc().getItemImages(),Map.class);parseObject直接默认是Map别的要指定 Map.class7.http://localhost:9102/admin/goods_edit.html#?id149187842867969注意?前要加# 则是angularJS的地址路由的书写形式$location ----varid $location.search()[‘id’];//获取参数值8.useGeneratedKeys要求数据库本身具备主键自动增长的功能比如说mysqlsqlserver可以使用useGeneratedKeys true 这功能不支持主键自动增长的数据库是不能使用useGeneratedKeys true的不支持的用selectKey子节点来做oracle不支持useGeneratedKeys否则会报“不支持的特性”9.xsd或者dtd文件有问题 复制那个url打开浏览器然后网页另存为导入即可10.Long.valueOf(这里有参数)是将参数转换成long的包装类——Long。longValue()是Long类的一个方法用来得到Long类中的数值。前者是将基本数据类型转换成包装类后者是将包装类中的数据拆箱成基本数据类型项目中常用思想1.将常用的操作封装在baseController.jsr中比如分页批量删除时对数组的操作获取JSON字符串中的某个key对应值的集合–规格内存、网络从集合中查询某个名称的值是否存在2.添加和修改的时候可以进行合并–后端或者前端操作 但是也要看情况3.增删改都要对结果进行封装提示封装一个Result结果类 boolean string4.页面传过来的是一对多的数据用对象封装比如规格和规格选项保存提交实现思路我们将规格和规格选项数据合并成一个对象来传递这时我们需要用一个对象将这两个对象组合起来。在业务逻辑中得到组合对象中的规格和规格选项列表插入规格返回规格ID然后循环插入规格选项。这里使用到了last_insert_id是mysql的函数5.修改的时候先删除再添加删除的时候也要删除关联的先删除规格再添加条件id会删除相应的规格选项中所有带这个id 的6.springsecurity使用要先放行静态页面 img js css等账号密码可以直接在配置文件中配置也可以从数据中获取/* 代表的是根路径下的所有资源不包含子路径 /**代表的是根路径下所有的资源包含子路径要把add.do放行不然商家永远注册不了一直都会重定向到注册页面发生错误BCrypt算法将salt随机并混入最终加密后的密码验证时也无需单独提供之前的salt从而无需单独处理salt问题。不用再另外加盐后台管理系统用权限框架前台门户网站用sso cas策略单点登录always-use-default-target指定了是否在身份验证通过后总是跳转到default-target-url属性指定的URL。这样不会跳转到之前输入的url中前台门户网站可以跳转到自己输入的后台应该指定默认7.商家系统登陆与安全控制商家账号来自数据库并实现密码加密进行校验时只需要先传入username然后去数据库查出再根据这个正确的密码去校对由于在form表单中指定了password框架会自动匹配。8.面包屑的使用一级分类二级分类三级分类 每次点击传入findByparentId(entity.id)9.添加商品这个信息比较多建议另外跳转页面进行处理少量信息可以采用弹出模态框10.Kingeditor的使用还有引入JS的时候顺序问题也很重要要先加载哪一个11.对于fastdfs上面的图片也可能会有很多垃圾存在可以采用springtask进行每天凌晨定时清理无用的图片12.我们为商品管理提供商品删除功能用户选中部分商品点击删除按钮即可实现商品删除。注意这里的删除并非是物理删除而是修改tb_goods表的is_delete字段为1 我们可以称之为“逻辑删除”13.广告缓存-redis现在我们首页的广告每次都是从数据库读取这样当网站访问量达到高峰时段对数据库压力很大并且影响执行效率。我们需要将这部分广告数据缓存起来。使用findByCategoryId先从缓存中查询如果值为空则从数据库查询并放入缓存即可当广告数据发生变更时需要将缓存数据清除这样再次查询才能获取最新的数据14.搜索方案–solr复制域的作用在于将某一个Field中的数据复制到另一个域中当我们需要动态扩充字段时我们需要使用动态域。对于品优购规格的值是不确定的所以我们需要使用动态域来实现。需要实现的效果如下 然后只需要在实体类中加上Field注解15.solr服务器地址中如果数据索引库不止一个要指定数据库并且还要修改core.properties16.按价格区间搜索方案0和上限要区别处理17单点登录可以理解为游乐园的通票在一处地方登录后别的地方需要登录的时候不需要登录分布式18.当用户在未登录的情况下将此购物车存入cookies ,在用户登陆的情况下将购物车数据存入redis 。如果用户登陆时cookies中存在购物车需要将cookies的购物车合并到redis中存储.19.跳板页20.判断的时候有时候可能从某处get得到的不会是null但是时一个空的集合所以要加上别的判断cartList_cookie.size()021.状态显示1用if 麻烦2用一个数组存取状态status[未审核已审核不通过通过]然后status[0/1]22.修改商品如果修改的东西比较多就不用弹窗23.使用三目元算符做判断

相关新闻

篮球口袋教练 HarmonyOS 学习应用(04):篮球战术分类与专项训练模型

篮球口袋教练 HarmonyOS 学习应用(04):篮球战术分类与专项训练模型

战术课不是把所有内容平铺在一个长列表里就结束了。用户需要先看到完整战术范围,再按进攻、防守、挡拆或转换迅速缩小范围。篮球口袋教练为战术模块定义固定的子分类,再将当前分类状态传给列表过滤逻辑,让标签选中态和课程结果来自同一份状态…

2026/10/18 9:49:23 阅读更多 →
Chrome图片格式转换终极指南:如何一键保存为PNG/JPG/WebP

Chrome图片格式转换终极指南:如何一键保存为PNG/JPG/WebP

Chrome图片格式转换终极指南:如何一键保存为PNG/JPG/WebP 【免费下载链接】Save-Image-as-Type Save Image as Type is an chrome extension which add Save as PNG / JPG / WebP to the context menu of image. 项目地址: https://gitcode.com/gh_mirrors/sa/Sav…

2026/10/18 9:49:52 阅读更多 →
AI生成的PPT,该导出HTML还是PPTX?很多人选错了

AI生成的PPT,该导出HTML还是PPTX?很多人选错了

当下有许多AI工具被用于制作PPT,在完成制作后会让你进行选择:导出HTML还是PPTX?很多人不经过思索就选择HTML,这是因为网页打开就能够进行查看,动画效果还很是酷炫,而且不需要安装Office。 不过&#xff0c…

2026/10/18 9:50:39 阅读更多 →

最新新闻

ImageJ/Fiji精准裁剪指定像素大小:单张、堆栈与批量处理全攻略

ImageJ/Fiji精准裁剪指定像素大小:单张、堆栈与批量处理全攻略

前阵子帮一位朋友整理一批显微成像数据,需求听起来非常简单:把几十张共聚焦图片里感兴趣的区域全部统一截成 512512 像素,后面要喂给某个网络模型。结果他组里的同学手动框了一下午,导出的图片尺寸五花八门,500486、51…

2026/10/19 0:04:52 阅读更多 →
IT就业难背后:结构性错位与破局之道

IT就业难背后:结构性错位与破局之道

先聊点实在的。这两年只要打开社交平台,输入“IT就业难”这几个字,满屏都是吐槽贴:应届生投了几百份简历石沉大海,工作五六年的开发说“裸辞三个月找不到下家”,还有转行培训机构出来的朋友抱怨“包装了三年经验还是被…

2026/10/19 0:04:52 阅读更多 →
场地预约小程序毕设实战:SSM+微信小程序+MySQL数据库设计到避坑

场地预约小程序毕设实战:SSM+微信小程序+MySQL数据库设计到避坑

简介:面向毕业设计场景的场地预约小程序完整项目,基于微信小程序SSMMySql技术栈开发,适合计算机相关专业学生作为选题参考、功能扩展或二次开发起点。系统实现场地类型管理、场地管理、预约管理、取消申请与押金退回等功能,分为管…

2026/10/19 0:04:52 阅读更多 →
基于.NET9的多租户权限系统:数据权限与动态API落地实践

基于.NET9的多租户权限系统:数据权限与动态API落地实践

简介:这份资源是一套面向 .NET 与 Vue 全栈开发者的中台权限管理系统,后端基于 .Net9,前端采用 Vue3 Element Plus,并配套 uniapp uviewui 移动端方案,实现前后端分离。系统覆盖多租户隔离、数据权限、动态 Api、任务…

2026/10/19 0:04:52 阅读更多 →
悟空开源无代码平台实战:从实体建模到应用设计避坑指南

悟空开源无代码平台实战:从实体建模到应用设计避坑指南

简介:基于悟空开源无代码平台的多种应用设计源码,面向希望在不编写代码的情况下快速搭建CRM、HRM、财务系统、ERP、SRM等业务应用的企业与技术人员,通过拖放式界面和内置模板即可完成应用定制与部署。压缩包共697个文件,约10.74MB…

2026/10/19 0:04:52 阅读更多 →
多实例学习赋能YOLOv10:水下目标检测的弱监督新范式

多实例学习赋能YOLOv10:水下目标检测的弱监督新范式

简介:本资源是一套基于多实例学习与YOLOv10框架实现的水下目标检测(RUOD)完整项目代码包,面向计算机视觉方向的研究者、算法工程师及深度学习进阶学习者,聚焦解决水下图像因光照衰减、散射模糊、低对比度等导致的目标漏…

2026/10/19 0:03:49 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →