刘小爱 level
获赞
50
粉丝
44
关注
0
看过 TA
34
武汉科技大学
2015
Java
IP属地:未知
公众号:刘小爱。有详细每日学习Java的笔记
私信
关注
2020-09-12 08:31
武汉科技大学 Java
自学Java第152天Stream流和通用mapper根据id批量查询两个比较重要的知识点,并且使用也方便-刚好根据这次的业务需求回顾并学习了一下昨天根据SPU实现了商品查询但是SPU数据表中只有商品分类和品牌对应的id-而我们在前端页面中需要的不是id而是对应的值这个时候就有两种选择了:-一是就直接响应id数据给前端前端再通过响应的id依次发送请求但这种情况比较麻烦,人家前端不会管那么多他只会说明我就是要这个数据,你得给我至于数据怎么来的,你自己去想办法所以此路不通,除非前端人员好沟通-二是在Java后台在GoodsService中依次调用BrandService查询品牌调用CategoryService查询商品分类-其中因为商品分类是多级列表,对应多个id所以要使用通用mapper中的根据多个id批量查询具体使用方法在笔记中有说明-并且商品分类要遍历依次查询以及用“/”拼接起来这里就可以直接使用Stream流这样的话就不用一直for循环了-关于Stream流,它是jdk8更新的一个新特性jdk14都更新了,jdk8的新特性很多人都不愿意用说什么后期维护差,问题肯定是有很多的但这不能成为逃避不学习的借口-我觉得吧,会Stream流总比不会Stream流要好的多不然万一人家都在用,看都看不懂岂不是很尴尬如果公司觉得这个不好,要求不要用那就不用呗又没啥影响-行有不得反求诸己,我是@刘小爱一个白天上班晚上学习的95后沪漂,不为其它,只为学会自律做好自己,也愿我的每日打卡能给你带来勇气,欢迎点赞关注和评论。
Java学习交流
0 点赞 评论 收藏
分享
2020-09-11 08:23
武汉科技大学 Java
自学Java第151天实现了商品的分页查询和前几天实现的品牌分页查询非常类似-当初是从前端页面到后台代码完整地写了一遍这次实现下来主要专注于后台代码编写起来也就轻松很多了-当然首先补充学完了昨天未完成知识点SKU至于SKU和SPU的概念,这两天都有详细说明那商品管理页面中商品列表是SKU还是SPU?-无论是展示给用户看的,还是后台管理的都是SPU展示给用户看的比较复杂,涉及到商品描述等很多数据这个我们在后面学习前台管理系统时会学到展示给后台管理人员看的就比较简单了-所以我们要从数据库中查询SPU数据一样的也是请求相关的四大内容哦,还有一个Java实体类和数据表对应我感觉我这说了快无数遍了,我擦咧-确定请求路径/方式,这没啥好说的请求参数有4个:-key也就是搜索框中输入的数据saleable用来判断商品的上下架page:当前页码数,默认为第1页rows:页面行数,默认一页有5行-至于返回值就是分页数据前面学品牌管理的时候我们封装了分页实体类也就是PageResult<T>这个类当时我们是将其放到了通用微服务lxa-common中-但凡是涉及到分页查询的都可以直接用它通过给它指定不同的泛型来实现不同的分页查询我们这里T也就对应着Spu实体类-请求相关的这4块内容确定了,代码也就基本写了Controller层Mapper层搞定剩下的也就是Service层加一些判断通用Mapper的使用,处理下异常,封装返回值数据就完了
Java学习交流
0 点赞 评论 收藏
分享
2020-09-10 08:10
武汉科技大学 Java
自学Java第150天SPU和SKU对应的数据表设计这是商品设计中两个非常重要的概念-不行我必须得吐槽下自己了现在的学习进度完全乱了,我擦咧昨天学了商品的规格参数组的业务实现-商品规格参数组和商品规格参数本来照理说将它们放在一篇文章中多好啊结果由于个人的学习进度问题:-昨天只实现了规格参数组的业务今天才完成规格参数业务,导致的结果就是SPU和SKU的分析也是只完成了一半-这……我感觉已经成一个恶性循环了肯定会对我以后的回顾造成一定的影响-好,吐槽完毕,回到学习内容:商品规格参数的业务实现说白了就是根据规格参数组的id查询规格参数-SpecParam实体类对应规格参数表根据gid查询出specParam集合前端页面中昨天查询出了分类商品对应的规格组今天再次实现规格组下对应的规格参数-以上就是关于商品规格参数的一个完整实现:包含规格组和组下对应的具体参数除了查询还有增删改,实现思路是一样的-至于SPU和SKU是对商品属性说明官方定义不好理解,我举例说明-比如某电商网站某品牌手机有几个版本:商品①:“基佬紫”、“8G+256G”…等等商品②:“土豪金”、“16G+512G”…等等-SKU就是具体的某个商品,颜色啊内存啊都确定了通俗理解就是订单中对商品的详细说明-而SPU就是商品①商品②所共有的属性比如说品牌名一样,名字也一样(比如都是小米11)它们在购买页面的标题说明也是一样的购买页面的详情描述无论哪个版本都是一样的商家会展示配置最好的那个版本-行有不得反求诸己,我是@刘小爱一个白天上班晚上学习的95后沪漂,不为其它,只为学会自律做好自己,也愿我的每日打卡能给你带来勇气,欢迎点赞关注和评论。
投递小米集团等公司8个岗位
0 点赞 评论 收藏
分享
2020-09-08 08:07
武汉科技大学 Java
自学Java第148天关于图片上传,这个太常见了朋友圈,微头条都涉及到图片的上传以前我们也编写过对应的demo-当前项目中,将图片上传独立成微服务关于其前端代码,昨天就接触过一样的还是确定4大参数:-请求路径:网关映射路径+真实路径网关域名和路由是在其对应配置文件中配置的真实路径才是我们在Controller层中需要接受的-请求方式:文件上传,POST请求请求参数:file文件,这个file啊以前上传图片利用IO流将其复制到对应路径-现在MultipartFile直接transferTo()方法搞定这个类在SpringMVC讲解过,功能比file更强大getContenType()方法可以获取文件类型等等-返回值:图片对应的url,即图片域名+图片名图片上传成功后,会返回一个url通过该url可以直接访问到对应的图片那么问题来了:图片到底保存在哪里呢?-一般来说会保存在分布式文件系统中这个暂且先不说,后续花时间在学习我们今天是直接将其保存在了nginx中-nginx有一个html文件可以存储静态资源至于图片对应的域名利用SwitchHosts加上nginx实现域名的使用这个在第142天有详细学习过-总之就是浏览器上输入对应的域名+图片名其实访问到的是nginx里html中的文件-代码编写完成,做一个测试利用insomnia模拟文件上传,看是否存在问题-行有不得反求诸己,我是@刘小爱一个白天上班晚上学习的95后沪漂,不为其它,只为学会自律做好自己,也愿我的每日打卡能给你带来勇气,欢迎点赞关注和评论。
Java学习交流
0 点赞 评论 收藏
分享
2020-09-07 08:16
武汉科技大学 Java
投递快看等公司8个岗位
0 点赞 评论 收藏
分享
2020-09-06 08:22
武汉科技大学 Java
自学Java第146天拖延症越来越严重了,加上恰逢自己生日本来打算休息一天就当是给自己份生日礼物-但是想了想还是算了,有了这次开头下次又会找各种各样的借口偷懒了所以虽然很晚才写完学习笔记,但也没有断更-晚上没多少人看,发文时间也不好但还是发了,只能说算是自己的执念吧我不知道自己还能坚持多久至少我会尽自己最大的努力保证不断更-学习内容主要如下:对于异步请求工具axios的说明其实昨天发送的请求就是使用的axios不是使用的jQuery,但是当时没说清楚所以今天对其做了一个简单的说明-同时关于商品品牌业务后台代码的编写其中有一个核心点就是关于分页助手的使用这是mybatis的一个开源的分页插件-以前在做项目一时,分页全都是自己写的现在使用分页助手PageHepler方便了很多以前要写一堆代码说明分页属性之间的关系现在两行代码搞定,具体在笔记中都有说明-一般来说写后台代码,我个人的一个思路:先确定实体类和数据表,一一对应-其次确定请求路径和请求参数据我所知前端和后台会根据开发文档来编写但我这前端和后台都要自己写,总之要保证一致-其次确定返回值数据因为我们这里需要的是一个分页数据所以要专门编写一个和分页相关的分页类其包含总页数,总记录数,以及每页对应的数据-最后也就是Java经典三层结构的代码编写了使用通用mapper即可完成其中要利用到高阶用法example的使用具体实现过程都在笔记中有图文说明-行有不得反求诸己,我是@刘小爱 。白天上班晚上学习,不为其它,只为学会自律做好自己,也愿我的每日打卡能给你带来勇气,欢迎点赞关注和评论。
Java学习交流
0 点赞 评论 收藏
分享
2020-09-04 08:18
武汉科技大学 Java
自学Java第145天差点就断更了,我擦咧用Vue写了一个品牌管理的页面当然呢,数据暂时都是填写的假数据-本来打算独立将前端页面和后台代码写完的并且Vue学了几天,好歹要实战一把吧但是显然我高估了我自己的实力-只完成了一个前端页面的编写,还没写完我打算自己找组件的,试了下,但是时间太少了最终还是得跟着教程,这个没办法-想要求质量,就得花费大量的时间想要求数量保持日更,质量就会打折扣目前我还没法解决这个问题-使用的是Vuetify这个框架提供的组件老实说使用起来确实特别的方便找到组件之后,它有提供的代码样板自己将代码copy到对应的vue文件中即可就算是一个个试也能试出来其作用-最主要的是vue是热部署不像以前写Java,修改代码后还得重新启动虽然有一个JRebel的插件,但使用也不太方便-但是也有一个问题,就是找到对应的组件不容易我想找搜索框的组件找了我好一会儿,我擦咧最终才在表单和控件选项栏下的文本框中找到-当然呢,主要也是次数用得太少了导致很多组件用都没用过,所以得一一试-并且教程上的内容和现在Vuetify框架内容不一样就比如说栅格组件中:v-row就代替了v-layout,v-col就代替了v-flex-感觉前端的技术更新迭代的太快了我的这个教程虽然说不是最新,但也不老呀当然呢也不是说老版本的用法就不能用了-只是我一想既然官网上都说了,那我就试下新用法结果一试发现和以前的样式不一样然后就又得一点点调-这个呀,你说它难吧其实也还好不像Java有时候会涉及到一些数学逻辑运算你说它简单吧,可能一个组件调来调去就要调半天特别是有强迫症的话更是要把样式给调舒服才行-感觉这个东西没别的途径,就是多用,熟能生巧-行有不得反求诸己,我是@刘小爱 。一个白天上班晚上学习的95后沪漂,不为其它,只为学会自律做好自己,也愿我的每日打卡能给你带来勇气,欢迎点赞关注和评论。
Java学习交流
0 点赞 评论 收藏
分享
2020-09-03 08:24
武汉科技大学 Java
自学Java第144天什么是跨域问题?以及其解决方法本来呢,这块知识点我是不想写笔记的-就自己看一遍,知道有这回事,怎么做就够了花时间还写一篇文章实在是不太值得但是最终还是写了,为什么呢?-因为其使用到了两个重要知识点:一个是SpringBoot中的Java配置类的使用一个是jdk8中的新特性方法引用的使用-老实说这两个知识点都忘得差不多了因为自己每天编写的代码有限并且还学了好几天的vue,使用到它们的机会很少所以趁此次机会也算是做了一个系统地回顾:-Java配置类在我第131天的笔记中有详细讲解方法引用在我第50、51天的笔记中有详细讲解-忘了再去回顾和完全没学过真心就是两码事从0开始学一个知识点可能要几个小时都不够忘了去回顾可能几分钟就搞定了-好,言归正传,还是说下跨域问题这个跨域说白了就是跨域名访问,有三种情况:域名不同、域名相同但端口不同、二级域名不同-关于域名、二级域名我就不举例说明了出现域名会被平台给屏蔽掉,还会被举报…-总之就是我们昨天编写的商品分类业务它所属于的是项目中网关对应的域名我们要在管理系统的前端页面中发送请求访问这个前端页面对应的又是管理系统的域名所以就出现跨域问题了-​那这个问题怎么解决呢?​被访问的对象是谁?是网关要访问​网关的对象是谁?是后台管理系统-这样的话我们在网关中加一个配置说明后台管理系统对应的域名可以访问我就好了就相当于给它加了一个白名单-我们这里使用的是CORS解决跨域当然具体的代码编写三两句也说不清楚都在笔记中有详细的说明​-行为不得反求诸己,大家好,我是@刘小爱一个白天上班晚上学习的95后沪漂,不为其它,只为学会自律做好自己,也愿我的每日打卡能给你带来勇气,欢迎点赞关注和评论。
Java学习交流
0 点赞 评论 收藏
分享
2020-09-02 08:27
武汉科技大学 Java
自学Java第143天商品分类业务,说下其实现的整个思路思路搞清楚了,剩下的就是搬砖了-哼,我才不是在搬砖呢就算是在搬砖,我也要告诉自己我其实是在修万里长城……-一般来说需求拿到手,先分析数据模型:数据表中的字段是如何设计的?Java中对应的实体类又如何设计?前端页面中vue组件使用哪个?数据模型清楚了,代码编写也就好说了-商品分类,是一个多级类目的关系比如说家用电器是一个一级类目它有很多个子节点,比如电视、冰箱…等-此时电视、冰箱这些就是一个二级类目其中电视也有多个子节点比如全面屏电视、超薄电视……等-这些都是国内某网站的一个分类划分那在数据库中如何设计呢?使用两个字段来说明这种多级关系-id和name字段不用多说,一般都会有parent_id字段用于说明我的父节点的id该字段就将同一张表中的数据自关联起来了理论上三级四级无数级都可以用该字段来说明-is_parent字段用来说明是否是父节点如果为true,表示还有子节点,商品分类业务如果为false,表示没有子节点,其它业务这个字段也很关键,一开始被我自己忽略了-如一级类目,我只需要查询它的子节点有哪些?但最后一级类目没有子节点了呢?就要查询具体商品了,不属于商品分类业务-确定了数据表设计,编写对应的Java实体类使用通用mapper将它们联系起来至于前端页面使用对应的ui组件模板编写-再就是确认请求路径了,根据路径编写代码Controller层接受请求和响应Servic层处理具体的业务,以及判断查询结果Mapper层这里直接使用了通用Mapper-关于实体类是放在子工程lxa-item-pojo中关于具体业务是放在子工程lxa-item-service中编写好该业务后,做个测试看是否能查询到数据-同时将其对应到网关当中,网关中配置路由再通过网关访问,确定是否也没问题网关本质上只是在访问路径上加了一层保护本质上还是执行我们编写的具体业务代码不然别人都能直接看到我们的业务路径,比较危险-我是@刘小爱,一个白天上班晚上学习的95后沪漂,不为其它,只为学会自律做好自己,也愿我的每日打卡能给你带来勇气,欢迎点赞关注和评论。
Java学习交流
0 点赞 评论 收藏
分享
2020-08-31 08:17
武汉科技大学 Java
自学Java第141天后台管理系统之配置微服务昨天搭建了管理系统的前端页面今天就是后台微服务的搭建了-采用的是用父工程管理依赖及其版本再创建各个子模块微服务其中基础微服务包括注册中心和网关同时也算是对以前学习知识点的一个回顾-其中关于网关有一个路由设置每新建一个微服务都需要配置一个路由搭建完基础的微服务,再进入业务的搭建-在后台管理系统中有一块内容就是商品管理商品微服务,这是我们优先要创建的现对其内容做一个分析-商品微服务中会存在多个实体类这些实体类若是其它微服务要用怎么办?难道去copy同事的代码嘛?-所以为了解决这个问题将微服务拆分成pojo和service两个子工程pojo子工程用来存放相关的实体类service子工程才用来处理具体的业务-这样的好处在于其它微服务若是需要实体类时直接导入对应的pojo子工程依赖即可所有业务相关的微服务基本都被拆分成这两个-除此之外还有一个重要的微服务common专门存放通用代码,其它微服务可以直接用其典型例子就是各种工具类的存放-再比如说关于异常的处理这也是非常重要的一个知识点以前遇到异常都是throw异常或者try…catch现在要自定义异常,方便统一处理-使用到的方式就是配置一个切面异常信息用枚举来说明其实现起来较为复杂,未学完
Java学习交流
0 点赞 评论 收藏
分享
2020-08-30 08:45
武汉科技大学 Java
自学Java第140天从今天开始就正式进入电商项目的学习了emm……暂且就叫它刘小爱商城吧-为什么要学这个电商项目呢?一是这个电商确实也比较火二是它属于互联网项目,对比传统项目它更注重网站性能,对技术本身要求较高用来学习无疑是不错的选择-其中整个项目分为两个部分:后台管理系统:管理人员管理的页面前台门户系统:用户可以浏览并购买商品-无论是后台管理系统,还是前台门户系统都是前后端分离,故要独立部署前端页面前端页面也是需要我们自己来完成的这也是为什么前面要学前端的原因-这几天的主要任务是搭建后台管理系统其主要作用为:商品,销售,用户管理等估计要花不少时间来学习-而后台管理系统又分为:前端页面和后台微服务前端页面使用单页应用(SPA)也就是页面只有一个html文件其它都是由vue组件组成也就是我们昨天刚学的组件化开发-那如何搭建呢?vue官方提供了一个快速搭建项目的脚手架即vue-cli,用它可以快速构建web工程模板-而关于各种组件的使用如果是专业的前端人员自己写估计没问题但对后台开发人员来说,自己写比较困难-所以需要借助一个UI框架Vuetify看到想要的组件,直接copy就好了轻松简单了很多,但是也需要能看得懂不然copy哪儿都不知道-哦对了,有一个前端打包工具叫webpack篇幅受限,就不详细介绍了
Java学习交流
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务