自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(153)
  • 资源 (1)
  • 收藏
  • 关注

原创 SpringDataJPA(三):多表操作,复杂查询

在实际开发中,我们数据库的表难免会有相互的关联关系,在操作表的时候就有可能会涉及到多张表的操作。有时我们在查询某个实体的时候,给定的条件是不固定的,这时就需要动态构建相应的查询语句,在Spring Data JPA中可以通过JpaSpecificationExecutor接口查询。多对多关系中:用中间表(第三章表)来描述这种关系,中间表中至少应该由两个字段组成,这两个字段作为外键指向两张表的主键,且这两个字段又组成了联合主键。在一对多关系中,我们习惯把一的一方称之为主表,把多的一方称之为从表。

2024-07-29 11:02:40 1806

原创 SpringDataJPA(二):SpringDataJPA的运行原理以及基本操作

Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据库的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring Data JPA 可以极大提高开发效率!

2024-07-29 10:36:53 933

原创 SpringDataJPA(一):ORM思想和hibernate以及JPA的概述和基本操作

ORM(Object-Relational Mapping) 表示对象关系映射。在面向对象的软件开发中,通过ORM就可以把对象映射到关系型数据库中。只要有一套程序能够做到建立对象与数据库的关联,操作对象就可以直接操作数据库数据,就可以说这套程序实现了ORM对象关系映射。简单的说:ORM就是建立实体类和数据库表之间的关系,从而达到操作实体类就相当于操作数据库表的目的。

2024-07-29 10:08:34 701

原创 ElasticSearch第二天

在进行关键字搜索时,搜索出的内容中的关键字会显示不同的颜色,称之为高亮百度搜索关键字"传智播客"[外链图片转存失败(img-B0FtGppk-1562473884413)(image/14.png)]京东商城搜索"笔记本"Spring Data是一个用于简化数据库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持map-reduce框架和云计算数据服务。Spring Data可以极大的简化JPA的写法,可以在几乎不用写实现的情况下,实现对数据的访问和操作。

2024-07-10 16:14:06 693

原创 ElasticSearch第一天

Elasticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。Elasticsearch是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document)。

2024-07-08 16:56:59 1048

原创 全文检索功能(Lucene)

Lucene是一个基于java开发全文检索工具包,提供了查询引擎和索引引擎如何实现全文检索:可以使用Lucene实现全文检索。Lucene是apache下的一个开放源代码的全文检索引擎工具包。提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能。

2024-07-04 14:41:08 1375

原创 Redis

NoSQL,泛指非关系型的数据库,NoSQL即Not-Only SQL,它可以作为关系型数据库的良好补充。随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速。而传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,例如:(1)High performance - 对数据库高并发读写的需求。

2024-03-22 16:54:50 1041

原创 HarmonyOS 应用开发案例

该组件多用于可视化等场景。TabBar在大部分的APP当中都能够使用到,不同的APP可能存在不一样的TabBar样式,Tab组件自带的TabBar属性对于部分效果无法满足,如页签中间显示一圈圆弧外轮廓等, 因此我们需要去自己定义一个TabBar页签来满足开发的需要。本示例提供组件实例在页面间共享的解决方案:通过Stack容器,下层放地图组件,上层放Navigation组件来管理页面,页面可以共享下层的地图组件,页面中需要显示地图的区域设置为透明,并参考触摸交互控制,设置事件透传及响应区域。

2024-03-21 08:53:53 1807

原创 乐优商城(九)数据同步RabbitMQ

消息队列,即MQ,Message Queue。消息队列是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,这样就实现了生产者和消费者的解耦。商品服务对商品上下架以后,无需去操作索引库或静态页面,只是发送一条消息,也不关心消息被谁接收。搜索服务和静态页面服务接收消息,分别去处理索引库和静态页面。如果以后有其它系统也依赖商品服务的数据,同样监听消息即可,商品服务无需任何代码修改。

2024-03-20 15:48:07 850

原创 乐优商城(九)数据同步

假如我在商品微服务中,修改了商品的数据,也就是 MySQL 中数据发生了改变。但搜索微服务查询到的数据还是原来的,商品详情微服务的生成的静态页面也没有发生改变,这样显然不对。我们需要实现数据的同步,让搜索微服务和商品详情微服务的商品也发生修改。在 leyou-item-service 中实现商品微服务发送消息。接下来,我们就改造项目,实现搜索微服务和商品详情微服务的数据同步。在 leyou-goods-web 中实现商品详情微服务接收消息。当商品微服务对商品进行增、删、改的操作时候,就发送一条消息。

2024-03-07 09:54:01 935

原创 乐优商城(八)商品详情

商品详情页需要展示商品的规格参数组,以及其下的规格参数。所以我们需要提供一个接口,通过 Spu 的 id 查询规格参数组,并将规格参数封装其中。现在,我们生成商品详情页后,将它先部署一份在 Nginx 中,再返回给客户端。在 leyou-goods-web 中编写 Controller,接收请求,并跳转到商品详情页。当我们点击某个商品图片时,应该携带该商品的 SpuId 跳转到商品详情页。当用户搜索到商品后,如果想要了解商品的更多信息,就需要进入商品详情页。

2024-03-07 09:43:40 1038

原创 乐优商城(七)搜索过滤

顶部导航要展示的内容跟用户选择的过滤条件有关,展开或收起的按钮是否显示也取决于用户选择的过滤条件的多少(如果很少,那么就没必要显示)。如果用户尚未选择商品分类,或者聚合得到的分类数大于 1,那么就没必要进行规格参数的聚合。因为不同分类的商品,其规格参数是不同的。虽然数据库中有所有该分类下的规格参数值,但是不能都用来给供用户选择,因为有些规格参数值并不在用户的搜索结果中。首先,我们要展示出的分类和品牌信息,肯定不是所用商品的分类和品牌,而是用户进行搜索后的商品的分类和品牌。

2024-02-19 16:46:23 735

原创 乐优商城(六)ElasticSearch搜索二

也就是说,每次页面创建完成,都会触发watch,然后就会去修改window.location路径,然后页面被刷新,再次触发created钩子,又触发watch,周而复始,无限循环。点击新品,应该按照商品创建时间排序,点击价格应该按照价格排序。索引库中的数据来自于数据库,我们不能直接去查询商品的数据库,因为真实开发中,每个微服务都是相互独立的,包括数据库也是一样。然而,这一切有一个前提,那就是当你第一次渲染时,对象中有哪些属性,Vue就只监视这些属性,后来添加的属性发生改变,是不会被监视到的。

2024-02-19 16:31:57 1582 6

原创 乐优商城(六)ElasticSearch搜索

用户访问我们的首页,一般都会直接搜索来寻找自己想要购买的商品。而商品的数量非常多,而且分类繁杂。如果能正确的显示出用户想要的商品,并进行合理的过滤,尽快促成交易,是搜索系统要研究的核心。面对这样复杂的搜索业务和数据量,使用传统数据库搜索就显得力不从心,一般我们都会使用全文检索技术,比如之前大家学习过的Solr。不过今天,我们要讲的是另一个全文检索技术:Elasticsearch。

2023-12-28 14:05:04 1043

原创 乐优商城(五)商品管理

live-server 是一款带有热加载功能的小型开发服务器。用它来展示你的 HTML / JavaScript / CSS,但不能用于部署最终的网站。

2023-12-26 15:07:36 1000

原创 乐优商城(四)商品规格管理

这张表似乎少了一些字段,比如商品描述,售后信息等,但这些数据都比较大,为了不影响查询效率我们做了表的垂直拆分,将 SPU 的详情放到了另一张表 tb_spu_detail。还是用上面举过的例子,“小米 10” 就是一个 SPU,它只对应 “小米” 这一个品牌,但小米品牌有多个 SPU,如:小米 9、小米 8 等。SKU 还应该有一个库存字段,但 SKU 表中的其他字段读的频率较高,而库存字段写的频率比较高,因此做了表的垂直拆分,使读写不会互相干扰。并且一个分类对应着多个规格组,一个规格组对应着一个分类。

2023-12-26 14:17:07 1075

原创 乐优商城(三)品牌管理

分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。传统文件系统管理的文件就存储在本机。分布式文件系统管理的文件存储在很多机器,这些机器通过网络连接,要被统一管理。无论是上传或者访问文件,都需要通过管理中心来访问FastDFS 是由淘宝的余庆先生所开发的一个轻量级、高性能的开源分布式文件系统。文件存储文件同步文件访问(上传、下载)存取负载均衡在线扩容适合有大容量存储需求的应用或系统。

2023-11-10 14:59:34 194

原创 ArkTS开发实践

ArkTS通过struct声明组件名,并通过@Component和@Entry装饰器,来构成一个自定义组件。使用@Entry和@Component装饰的自定义组件作为页面的入口,会在页面加载时首先进行渲染。@Entry@Component例如ToDoList组件对应如下整个代办页面。图1ToDoList待办列表使用@Component装饰的自定义组件,如ToDoItem这个自定义组件则对应如下内容,作为页面的组成部分。@Component图2ToDoItem。

2023-10-18 10:24:35 809 2

原创 浅析ArkTS的起源和演进

可复用的 UI 单元,可组合其它组件,如上述被 @Component 装饰的 struct Hello。

2023-10-16 16:50:22 1644

原创 TypeScript快速入门

ArkTS是HarmonyOS优选的主力应用开发语言。它在TypeScript(简称TS)的基础上,匹配ArkUI框架,扩展了声明式UI、状态管理等相应的能力,让开发者以更简洁、更自然的方式开发跨端应用。JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。

2023-10-16 16:24:11 137

原创 鸿蒙初体验

在编辑器底部有一行工具栏,主要介绍常用信息栏,其中Run是项目运行时的信息栏,Problems是当前工程错误与提醒信息栏,Terminal是命令行终端,在这里执行命令行操作,PreviewerLog是预览器日志输出栏,Log是模拟器和真机运行时的日志输出栏。该标签标识ability图标,标签值为资源文件的索引。双击已安装的DevEco Studio快捷方式进入配置页面,IDE会进入配置向导,选择Agree,同意相应的条款,进入配置页。中间的是代码编辑区,你可以在这里修改你的代码,以及切换显示的文件。

2023-10-16 16:05:44 1690

原创 乐优商城(二)搭建后台前端

作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP 代理服务器 对外进行服务。Nginx 用 C 编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。

2023-10-11 13:45:54 296

原创 乐优商城(一)介绍和项目搭建

乐优商城是一个全品类的电商购物网站(B2C)用户可以在线购买商品、加入购物车、下单可以评论已购买商品管理员可以在后台管理商品的上下架、促销活动管理员可以监控商品销售状况客服可以在后台处理退款操作希望未来 3 到 5 年可以支持千万用户的使用。

2023-10-11 11:01:27 988

原创 浅析-vue.js

前几天我们已经对后端的技术栈有了初步的了解、并且已经搭建了整个后端微服务的平台。接下来要做的事情就是功能开发了。但是没有前端页面,我们肯定无从下手,因此今天我们就要来了解一下前端的一些技术,完成前端页面搭建。先聊一下前端开发模式的发展。静态页面最初的网页以HTML为主,是纯静态的网页。网页是只读的,信息流只能从服务端到客户端单向流通。开发人员也只关心页面的样式和内容即可。异步刷新,操作DOM1995年,网景工程师Brendan Eich 花了10天时间设计了JavaScript语言.

2023-09-15 08:24:28 326

原创 浅析-ES6

来看下前端的发展历程:最初的网页以HTML为主,是纯静态的网页。网页是只读的,信息流只能从服务的到客户端单向流通。开发人员也只关心页面的样式和内容即可。web2.0时代:1995年,网景工程师Brendan Eich 花了10天时间设计了JavaScript语言。1996年,微软发布了JScript,其实是JavaScript的逆向工程实现。1997年,为了统一各种不同script脚本语言,ECMA(欧洲计算机制造商协会)以JavaScript为基础,制定了ECMAscript标准规范。

2023-09-13 08:31:49 198

原创 Spring Cloud 微服务2

Hystix,即熔断器。主页:https://githubHystix是Netflix开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败。有道词典的英文解释:为什么叫伪装?Feign可以把Rest的请求进行隐藏,伪装成类似SpringMVC的Controller一样。你不用再自己拼接url,拼接参数等等操作,一切都交给Feign去做。项目主页:https://github.com/OpenFeign/feign。

2023-08-31 14:49:51 928

原创 Spring Cloud 微服务

HttpClient是Apache公司的产品,是Http Components下的一个组件。官网地址:http://hc.apache.org/index.html特点:基于标准、纯净的Java语言。实现了Http1.0和Http1.1以可扩展的面向对象的结构实现了Http全部的方法(GET, POST, PUT, DELETE, HEAD, OPTIONS, and TRACE)支持HTTPS协议。通过Http代理建立透明的连接。自动处理Set-Cookie中的Cookie。

2023-08-25 09:21:35 1135

原创 SSM——用户、角色、权限操作

Spring Security 的前身是 Acegi Security ,是 Spring 项目组中用来提供安全认证服务的框架。( https://projects.spring.io/spring-security/ ) Spring Security 为基于 J2EE 企业应用软件提供了全面安全服务。特别是使用领先的J2EE 解决方案 -Spring 框架开发的企业软件项目。

2023-08-15 16:23:57 1860

原创 企业权限管理(十六)-aop日志

【代码】企业权限管理(十六)-aop日志。

2023-08-15 15:35:58 108

原创 企业权限管理(十五)-方法级别权限控制

3.@Secured注解使用。

2023-08-15 15:30:37 114

原创 企业权限管理(十四)-角色关联权限操作

【代码】企业权限管理(十四)-角色关联权限操作。

2023-08-15 15:27:35 107

原创 企业权限管理(十三)-用户关联角色操作

【代码】企业权限管理(十三)-用户关联角色操作。

2023-08-15 15:24:53 109

原创 企业权限管理(十二)-资源权限

【代码】企业权限管理(十二)-资源权限。

2023-08-15 15:21:44 103

原创 企业权限管理(十一)-角色操作

【代码】企业权限管理(十一)-角色操作。

2023-08-15 15:17:41 106

原创 企业权限管理(十)-用户详情

findById方法。

2023-08-15 15:09:30 1087

原创 企业权限管理(九)-用户操作

用户操作1用户查询findAllIUserDao用户添加。

2023-08-15 15:06:31 83

原创 企业权限管理(八)-登陆使用数据库认证

在 Spring Security 中如果想要使用数据进行认证操作,有很多种操作方式,这里我们介绍使用 UserDetails 、 UserDetailsService来完成操作。UserDetails 是一个接口,我们可以认为 UserDetails 作用是于封装当前进行认证的用户信息,但由于其是一个接口,所以我们可以对其进行实现,也可以使用Spring Security 提供的一个 UserDetails 的实现类 User 来完成操作以下是 User 类的部分代码。

2023-08-10 16:47:27 762

原创 企业权限管理(七)-权限操作

安全包括两个主要操作。这些概念是通用的,不是 Spring Security 特有的。在身份验证层面, Spring Security 广泛支持各种身份验证模式,这些验证模型绝大多数都由第三方提供,或则正在开发的有关标准机构提供的,例如 Internet Engineering Task Force.作为补充, Spring Security 也提供了自己的一套验证功能。Spring Security 的前身是 Acegi Security ,是 Spring 项目组中用来提供安全认证服务的框架。

2023-08-10 16:29:51 766

原创 SSM——环境搭建、产品操作、订单操作

PageHelper 是国内非常优秀的一款开源的 mybatis 分页插件,它支持基本主流与常用的数据库,例如 mysql 、oracle 、 mariaDB 、 DB2 、 SQLite 、 Hsqldb 等。本项目在 github 的项目地址: https://github.com/pagehelper/Mybatis-PageHelper本项目在 gitosc 的项目地址: http://git.oschina.net/free/Mybatis_PageHelper。

2023-08-09 15:19:56 251

原创 企业权限管理(六)-订单详情

【代码】企业权限管理(六)-订单详情。

2023-08-09 14:26:30 756

Harmony ArkTS开发实践DEMO

Harmony ArkTS开发实践DEMO

2023-11-14

视频播放器

这是一个比较完整的视频在线播放器,仿照今日头条、网易新闻客户端列表播放视频功能,实现了播放,暂停,进度条,全屏。自己感觉很实用,可以根据自己需求,简单修改,就能加入自己的项目中。需要自己更换视频地址,抓一下别的客户端视频的接口地址就可以了

2017-01-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除