11 2021 档案

摘要:将我们的jwt验证放入我们的拦截器中实现 1、编写我们的拦截器 package com.study.interceptors; import com.auth0.jwt.exceptions.AlgorithmMismatchException; import com.auth0.jwt.excep 阅读全文
posted @ 2021-11-30 22:19 不是孩子了 阅读(120) 评论(0) 推荐(0) 编辑
摘要:一、导入依赖 <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>3.4.0</version> </dependency> <dependency> <groupId>mysql< 阅读全文
posted @ 2021-11-30 21:48 不是孩子了 阅读(40) 评论(0) 推荐(0) 编辑
摘要:package com.study.utils; import com.auth0.jwt.JWT; import com.auth0.jwt.JWTCreator; import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.in 阅读全文
posted @ 2021-11-30 20:47 不是孩子了 阅读(174) 评论(0) 推荐(0) 编辑
摘要:一、导入依赖 <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>3.4.0</version> </dependency> 二、测试 1、生成token(每次执行都会生成不同的to 阅读全文
posted @ 2021-11-30 20:26 不是孩子了 阅读(24) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211130192407275-1478720549.png) ![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211130193114662-2000017329.png) ![](https:// 阅读全文
posted @ 2021-11-30 19:33 不是孩子了 阅读(20) 评论(0) 推荐(0) 编辑
摘要:/ / / / / / / / / / / / / / / 官方建议我们将token放在请求头里面,后端从请求头里面获取token / 阅读全文
posted @ 2021-11-30 18:21 不是孩子了 阅读(19) 评论(0) 推荐(0) 编辑
摘要:package com.study.common; /* 用于处理我们返回前端的信息 */ public class Result<T> { private String code;//返回的状态码 private String msg;//返回的信息 private T data;//T表示泛型, 阅读全文
posted @ 2021-11-30 16:06 不是孩子了 阅读(432) 评论(0) 推荐(0) 编辑
摘要:本地缓存,如果断电后会消失,并且缓存信息只能当前一个应用程序可以使用。 而redis实现的分布式缓存,断电不会消失,因为我们持久化存储到redis中了。并且可以多个应用程序共享。 阅读全文
posted @ 2021-11-29 21:30 不是孩子了 阅读(37) 评论(0) 推荐(0) 编辑
摘要:在我们的mapper.xml中添加一个标签 就代表开启了缓存。 但是之所以能放入缓存,是因为我们将存入缓存的对象进行了序列化,所以我们要对我们的实体类对象添加序列化接口。 阅读全文
posted @ 2021-11-29 21:21 不是孩子了 阅读(222) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211129202047595-1624426075.png) 阅读全文
posted @ 2021-11-29 20:21 不是孩子了 阅读(26) 评论(0) 推荐(0) 编辑
摘要:一、springboot操作redis的总结 1、针对于日后处理key value都是String使用StringRedisTemplate 2、针对于日后处理的key value存在对象,使用RedisTemplate 3、针对同一个key多次操作可以使用boundXXXOps的api可以简化书写 阅读全文
posted @ 2021-11-29 19:47 不是孩子了 阅读(38) 评论(0) 推荐(0) 编辑
摘要:RedisTemplate放入对象的时候,对象应该序列化。取出对象的时候,也会自动进行反序列化 / / / / 一、引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starte 阅读全文
posted @ 2021-11-28 00:03 不是孩子了 阅读(1103) 评论(0) 推荐(0) 编辑
摘要:pass 阅读全文
posted @ 2021-11-24 23:01 不是孩子了 阅读(21) 评论(0) 推荐(0) 编辑
摘要:(1)使用shiro标签展示用户的身份信息 (2)使用shiro标签展示认证之后展示的内容 (3)使用shiro标签展示没有认证之后展示的内容 阅读全文
posted @ 2021-11-24 22:47 不是孩子了 阅读(52) 评论(0) 推荐(0) 编辑
摘要:(1)导入依赖 <!--redis整合springboot--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </de 阅读全文
posted @ 2021-11-24 21:26 不是孩子了 阅读(103) 评论(0) 推荐(0) 编辑
摘要:(1)导入redis整合springboot的依赖 <!--redis整合springboot--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis 阅读全文
posted @ 2021-11-24 21:26 不是孩子了 阅读(90) 评论(0) 推荐(0) 编辑
摘要:package com.study.springboot_jsp_shiro.utils; import javax.imageio.ImageIO; import java.awt.*; import java.awt.geom.AffineTransform; import java.awt.i 阅读全文
posted @ 2021-11-24 20:34 不是孩子了 阅读(52) 评论(0) 推荐(0) 编辑
摘要:我们一个用户的权限一般是不会改变的,我们不能每发送一次请求,都执行查询权限的操作,这样会大大增加数据库的压力。所以我们要对权限进行缓存 这里的缓存时本地缓存,如何程序宕机,缓存就会消失。可以使用redis做成分布式缓存,这样宕机就不会丢失缓存 例如如下这个页面,我们每刷新一次页面,都会重新查询数据库 阅读全文
posted @ 2021-11-24 20:16 不是孩子了 阅读(233) 评论(0) 推荐(0) 编辑
摘要:二、权限 (1)编写实体类 (2)编写接口 userDao userDaoMapper userService userServiceImpl (3)编写自定义realm (4)测试 阅读全文
posted @ 2021-11-24 19:39 不是孩子了 阅读(35) 评论(0) 推荐(0) 编辑
摘要:一、角色 (1)创建数据库 (2)创建实体类 (3)开发查询用户的角色的接口 userDao层 userDaoMapper层 userService层 userServiceImpl层 (4)修改我们自定义的realm (5)测试成功 阅读全文
posted @ 2021-11-24 18:08 不是孩子了 阅读(57) 评论(0) 推荐(0) 编辑
摘要:方式一、使用标签的方法 1、基于角色的权限管理(模拟数据,未连接数据库) (1)导入shiro的标签库,使用shiro标签来管理我们的资源 (2)给我们的用户模拟赋予角色 2、基于资源/权限字符串的权限管理 (1)使用shiro标签管理我们的资源 (2)给相应的用户赋予访问资源的权限 (3)结果 / 阅读全文
posted @ 2021-11-24 09:22 不是孩子了 阅读(30) 评论(0) 推荐(0) 编辑
摘要:(1)编写userrDao接口 (2)编写mapper (3)编写userService接口 (4)编写service的实现类 (5)注意:编写获取bean的工厂工具类 由于我们的自定义realm并没有交给工厂去管理,所以并不能自定义注入realm,所以我们需要去写一个对应的工厂的工具类去进行获取 阅读全文
posted @ 2021-11-22 19:53 不是孩子了 阅读(36) 评论(0) 推荐(0) 编辑
摘要:今天学习SPRING 的@Qualifier 注解,遇到如下问题:spring默认的组扫描的bean id 是类名的首字母小写,如:class Bee ,那么 bean id 默认为: bee,可是我的程序却找不到这种格式的bean id ,上网查原因,得到解释,原来我的类名 class CDPla 阅读全文
posted @ 2021-11-22 17:55 不是孩子了 阅读(410) 评论(0) 推荐(0) 编辑
摘要:(1)编写注册页面 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <!--公共资源--> <h1>用户注册</h1 阅读全文
posted @ 2021-11-22 16:36 不是孩子了 阅读(71) 评论(0) 推荐(0) 编辑
摘要:(1)编写controller package com.study.springboot_jsp_shiro.controller; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.IncorrectCrede 阅读全文
posted @ 2021-11-22 15:03 不是孩子了 阅读(222) 评论(0) 推荐(0) 编辑
摘要:(1)导入依赖 <!--shiro整合springboot的依赖--> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring-boot-starter</artifactId> <version>1.5.3 阅读全文
posted @ 2021-11-22 13:46 不是孩子了 阅读(138) 评论(0) 推荐(0) 编辑
摘要:我们这里使用的模板是jsp。要进行响应的配置 (1)引入依赖 (2)编写application.properties的配置文件 (3)这样就可以访问了 阅读全文
posted @ 2021-11-22 13:05 不是孩子了 阅读(30) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211121223202313-1157844550.png) 阅读全文
posted @ 2021-11-21 23:20 不是孩子了 阅读(22) 评论(0) 推荐(0) 编辑
摘要:一、基于角色的访问控制 (1)自定义realm (2)编写代码 / / / / / / 二、基于资源/权限字符串的访问控制 (1)自定义realm (2)编写代码 阅读全文
posted @ 2021-11-21 20:00 不是孩子了 阅读(25) 评论(0) 推荐(0) 编辑
摘要:1.1授权 授权,即访问控制,控制谁能访问那些资源。主体进行身份确认后需要分配权限方可访问系统的组员,对于某些资源没有权限是不能访问的。 1.2关键对象 授权可以简单理解位who对what(which)进行How操作 (1)who,即主体(Subject),主体需要访问系统中的资源 (2)what, 阅读全文
posted @ 2021-11-21 18:13 不是孩子了 阅读(29) 评论(0) 推荐(0) 编辑
摘要:0、算法的使用 package com.study; import org.apache.shiro.crypto.hash.Md5Hash; public class TestShiroMD5 { public static void main(String[] args) { //创建一个md5 阅读全文
posted @ 2021-11-21 17:15 不是孩子了 阅读(130) 评论(0) 推荐(0) 编辑
摘要:一、MD5算法: 作用:一般用来加密或者签名(校验和) 特点: (1)MD5算法不可以,只能将明文转成密文 (2)如果内容相同,无论执行多少次md5,生成结果始终是一致的 生成结果:始终是一个16进制32位长度字符串 二、Salt盐 【再service层实现】 就是将我们用户注册时输入的密码,加上一 阅读全文
posted @ 2021-11-21 15:40 不是孩子了 阅读(152) 评论(0) 推荐(0) 编辑
摘要:(1)编写自定义realm package com.study.realm; import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.AuthenticationInfo; import 阅读全文
posted @ 2021-11-21 15:04 不是孩子了 阅读(63) 评论(0) 推荐(0) 编辑
摘要:(1)导入shiro依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.5.3</version> </dependency> (2)编写shiro的配置 阅读全文
posted @ 2021-11-21 13:42 不是孩子了 阅读(22) 评论(0) 推荐(0) 编辑
摘要:1.1认证 身份认证,就是判断一个用户是否为合法用户的处理过程。通常最简单的认证方式就是通过核对用户输入的用户名和口令,看是否与系统中存储的该用户的用户名和口令一致,来判断用户身份是否正确。 1.2shiro中认证的关键对象 (1)Subject:主体 访问系统的用户,主体可以是用户、程序等,进行认 阅读全文
posted @ 2021-11-21 13:06 不是孩子了 阅读(37) 评论(0) 推荐(0) 编辑
摘要:什么是shiro? shiro是一个功能强大且易于使用的java安全框架,他执行身份验证、授权、加密和会话管理。使用shiro易于理解的API,您可以轻松快速的保护任何应用程序 从最小的移动应用程序到最大的web和企业应用程序。 shiro是apache旗下开源的框架,他将软件系统的安全认证相关功能 阅读全文
posted @ 2021-11-21 12:49 不是孩子了 阅读(29) 评论(0) 推荐(0) 编辑
摘要:1.1什么是权限管理 基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。 1.2什么是身份认证 身份认证,就是判断一个用户是否为合法用户的处理过程。最常用的身份认证的方式就是 阅读全文
posted @ 2021-11-21 11:40 不是孩子了 阅读(504) 评论(0) 推荐(0) 编辑
摘要:(1)在父工程的pom文件中引入SpringCloudAlibaba的依赖 <!--nacos的管理依赖--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencie 阅读全文
posted @ 2021-11-21 11:27 不是孩子了 阅读(39) 评论(0) 推荐(0) 编辑
摘要:/ / / / / / / clients是一个数组,配置单个微服务可以用上面的代码。如果多个微服务可以用下面的代码格式: 阅读全文
posted @ 2021-11-20 22:26 不是孩子了 阅读(53) 评论(0) 推荐(0) 编辑
摘要:/ / / / / 阅读全文
posted @ 2021-11-20 21:52 不是孩子了 阅读(29) 评论(0) 推荐(0) 编辑
摘要:我们的负载均衡是通过一个叫做Ribbon的组件来实现的 阅读全文
posted @ 2021-11-20 20:50 不是孩子了 阅读(41) 评论(0) 推荐(0) 编辑
摘要:(1)修改orderService的代码 (2)添加负载均衡注解 (3)进行测试 访问我们的orderService,然后看idea控制台,看访问了哪一个userApplication的实例 我们分别查看101和102订单信息,然后通过负载均衡调用了user的8081端口的实例和8082端口的实例 阅读全文
posted @ 2021-11-20 20:36 不是孩子了 阅读(20) 评论(0) 推荐(0) 编辑
摘要:(1)复制我们已经存在的实例 (2)修改端口,避免端口冲突 (3)打开localhost:10086查看 阅读全文
posted @ 2021-11-20 20:12 不是孩子了 阅读(267) 评论(0) 推荐(0) 编辑
摘要:(1)导入eureka客户端依赖 <!--eureka客户端依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</ 阅读全文
posted @ 2021-11-20 20:08 不是孩子了 阅读(20) 评论(0) 推荐(0) 编辑
摘要:(1)创建一个普通maven项目 (2)导入依赖 <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-serv 阅读全文
posted @ 2021-11-20 19:26 不是孩子了 阅读(18) 评论(0) 推荐(0) 编辑
摘要:如何保证我们通过负载均衡获取的服务没有挂掉? 通过心跳续约,如果服务一段时间没有跳动,注册中心就会将其剔除,保证我们消费者获取到的服务都可以使用 / / / / / / 阅读全文
posted @ 2021-11-20 18:50 不是孩子了 阅读(25) 评论(0) 推荐(0) 编辑
摘要:一个服务既可以是提供者也可以是消费者 阅读全文
posted @ 2021-11-20 18:34 不是孩子了 阅读(38) 评论(0) 推荐(0) 编辑
摘要:我们希望查询订单信息的时候,能把该订单的用户信息也查出来,我们的解决办法是,在订单模块,发送查询用户信息的请求,然后将订单本身的查询结果,和发送查询用户信息后的查询结果拼接,即完成我们的想法 / / 发送http请求可以使用我们springboot提供的注册RestTemplate来完成。 / / 阅读全文
posted @ 2021-11-20 18:26 不是孩子了 阅读(26) 评论(0) 推荐(0) 编辑
摘要:(1)导入项目并创建数据库 数据库: (1)订单数据库:cloud_order (2)用户数据库:cloud_user 项目: (1)专注于查询用户信息的微服务:user-service (2)专注于查询订单信息的微服务:order-service 阅读全文
posted @ 2021-11-20 15:41 不是孩子了 阅读(21) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211120105803580-473615375.png) 阅读全文
posted @ 2021-11-20 10:59 不是孩子了 阅读(51) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211120103904632-539312164.png)![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211120105000671-1603731345.png)![](https://img... 阅读全文
posted @ 2021-11-20 10:54 不是孩子了 阅读(34) 评论(0) 推荐(0) 编辑
摘要:一、单体架构 简单方便、高度耦合、扩展性差、适合小型项目 / / / 二、分布式架构:根据业务功能对系统进行拆分,每个业务模块作为独立开发,称为一个服务 优点: 降低服务耦合、有利于服务升级拓展 松耦合、扩展性好、但是架构复杂、难度大。适合大型互联网项目 / / / / 三、微服务:实现高内聚、低耦 阅读全文
posted @ 2021-11-20 10:36 不是孩子了 阅读(90) 评论(0) 推荐(0) 编辑
摘要:<template> <div class="ValidCode disabled-select" :style="`width:${width}; height:${height}`" @click="refreshCode" > <span v-for="(item, index) in cod 阅读全文
posted @ 2021-11-18 19:12 不是孩子了 阅读(36) 评论(0) 推荐(0) 编辑
摘要:我们希望导航栏的用户管理只有管理员(role=1)能看到,普通用户(role=2)看不到 系统登录的时候我们把登录的用户信息存储到了localStorage中,即缓存中,但这是极不安全的,因为我们可以通过浏览器修改缓存,如下 我们可以采用一种相对安全的方法进行解决,就是将用户的id从前端发送到后端, 阅读全文
posted @ 2021-11-18 17:51 不是孩子了 阅读(46) 评论(0) 推荐(0) 编辑
摘要:package com.study.controller; import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.stu 阅读全文
posted @ 2021-11-17 17:47 不是孩子了 阅读(406) 评论(0) 推荐(0) 编辑
摘要:https://blog.csdn.net/qq_26030541/article/details/105139797 阅读全文
posted @ 2021-11-17 13:49 不是孩子了 阅读(19) 评论(0) 推荐(0) 编辑
摘要:当我们的字段类型是Date类型时,我们前端通过日期选择器(如elementplus的日期选择器)选择时间并保存到数据库,当我们通过前端显示时,时间往往不可读,可通过下面两种方法解决 / / / 方法一:给字段添加注解 / / / 方法二:application.properties中进行全局配置 阅读全文
posted @ 2021-11-17 13:42 不是孩子了 阅读(112) 评论(0) 推荐(0) 编辑
摘要:我们通过localStorage.getItem取数据,需要确保里面存在我们要取的数据,如果没有我们还取,就会导致错误,并且这个错误是在请求拦截器之前,因此请求拦截器无法执行 阅读全文
posted @ 2021-11-16 23:16 不是孩子了 阅读(1713) 评论(0) 推荐(0) 编辑
摘要:例如,在进行编辑操作时,我们一般是进行数据双向绑定。 当我们点击编辑按钮时,会弹编辑的对话框,我们希望会把原先的数据显示在对话框上,然后我们基于这个原先的内容再进行修改。但是如果我们编辑数据后,没有点确定修改数据,而是点击取消不修改数据,如果不进行深拷贝,往往会导致虽然取消修改,但是原先数据还是会改 阅读全文
posted @ 2021-11-15 19:52 不是孩子了 阅读(100) 评论(0) 推荐(0) 编辑
摘要:简介 Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。 Hutool中的工具方法来自每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利 阅读全文
posted @ 2021-11-15 16:15 不是孩子了 阅读(360) 评论(0) 推荐(0) 编辑
摘要:在MybatisPlus较高版本中(此处我用的使3.4.3.3),新增了分页插件。 package com.study.common; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus 阅读全文
posted @ 2021-11-15 13:03 不是孩子了 阅读(89) 评论(0) 推荐(0) 编辑
摘要:https://blog.csdn.net/weixin_43553701/article/details/119648771 阅读全文
posted @ 2021-11-14 22:53 不是孩子了 阅读(621) 评论(0) 推荐(0) 编辑
摘要:原因是我们从官网复制的代码,template使用的是slot,但是slot已经过时了 我们改成v-slot:title即可 阅读全文
posted @ 2021-11-14 20:53 不是孩子了 阅读(1389) 评论(0) 推荐(0) 编辑
摘要:如果我们需要访问8081端口,我们还是可以访问8080端口,但是通过代理(这里时node.js)转发到8081端口,实现跨域 阅读全文
posted @ 2021-11-14 15:43 不是孩子了 阅读(47) 评论(0) 推荐(0) 编辑
摘要:我们发送axios请求时,有时会响应错误信息,比如我们单击登录按钮发送请求的时候,可能会响应错误信息,也可能响应成功。当我们提交表单时,可能会响应错误信息,也可能响应成功。分开来写过于麻烦,所以我们使用axios的拦截器,统一拦截。当我们收到错误/正确信息的时候,对错误/正确信息进行统一的处理和提示 阅读全文
posted @ 2021-11-13 23:07 不是孩子了 阅读(473) 评论(0) 推荐(0) 编辑
摘要:https://www.jianshu.com/p/b3f4c1b3aab2 阅读全文
posted @ 2021-11-13 23:01 不是孩子了 阅读(48) 评论(0) 推荐(0) 编辑
摘要:npm install axios 阅读全文
posted @ 2021-11-13 22:35 不是孩子了 阅读(38) 评论(0) 推荐(0) 编辑
摘要:演示实例用的是elementplus框架 rules属性 (1)首先给表单添加绑定rules属性 【表单的ref属性相当于id】 (2)编写rules的值,即编写规则 (3)注意,rules里面的值,跟我们data中定义的username、password、code是没有关系的,跟formitem的 阅读全文
posted @ 2021-11-13 21:17 不是孩子了 阅读(153) 评论(0) 推荐(0) 编辑
摘要:(1)在控制台创建好vue项目后。在webstorm中打开 执行命令vue add element-plus 然后配置到项目里去使用,在main.js中添加下面代码 阅读全文
posted @ 2021-11-10 23:35 不是孩子了 阅读(393) 评论(0) 推荐(0) 编辑
摘要:(1)打开powershell (2)进入到要创建项目的目录 cd F:\IDEA_Projects_WorkSpace\Project_Collection (3)创建项目 vue create 项目名 (4)选择 (5)再次进行选择 按空格选中 (6)后面还要进行一系列选择 按照下面就可以 (7 阅读全文
posted @ 2021-11-10 23:08 不是孩子了 阅读(77) 评论(0) 推荐(0) 编辑
摘要:笔记整理 阅读全文
posted @ 2021-11-09 15:15 不是孩子了 阅读(25) 评论(0) 推荐(0) 编辑
摘要:1、使用nginx操作命令前提条件:必须进入nginx的目录 /usr/local/nginx/sbin 2、查看nginx的版本号 ./nginx -v 3、启动nginx ./nginx 4、关闭nginx ./nginx -s stop 5、重新加载nginx 如果我们修改了nginx的配置文 阅读全文
posted @ 2021-11-09 14:59 不是孩子了 阅读(27) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211108205823093-1593394963.png) 阅读全文
posted @ 2021-11-08 20:58 不是孩子了 阅读(23) 评论(0) 推荐(0) 编辑
摘要:对象导航查询: 默认使用的是延迟加载的形式查询的。 调用get方法并不会立即发送查询,而是在使用关联对象的时候才会查询。 如果我们不想要延迟加载,只需要修改配置即可,将延迟加载修改为立即加载。 fetch,需要配置到多表映射关系的注解上。不管是onetomany、manytoone、manytoma 阅读全文
posted @ 2021-11-08 20:52 不是孩子了 阅读(27) 评论(0) 推荐(0) 编辑
摘要:多表的查询,可以通过sql语句进行查询,还可以通过对象导航查询的方式进行查询。这是SpringDataJpa的一种特殊查询方式。 即查询一个对象的同时,通过此对象查询他的关联对象。 / / / / / 这个查询在一对多中比较明显,我们通过一对多的案例进行演示 / / / / (1)进行测试 报错no 阅读全文
posted @ 2021-11-08 20:38 不是孩子了 阅读(29) 评论(0) 推荐(0) 编辑
摘要:(1)级联添加 先在操作的主体上配置级联,这里user用户是主体,所以在user类上配置级联 然后进行测试 (2)级联删除 注意不要忘记将applicationContext.xml中表的生成方式改为update 阅读全文
posted @ 2021-11-08 20:13 不是孩子了 阅读(43) 评论(0) 推荐(0) 编辑
摘要:(1)我们进行测试 运行之后,数据库中生成三张表,一张用户表,一张角色表,还有一张关系映射表 但是关系映射表中没有数据,因为我们测试的时候没有进行两个关系的指定 (2)修改代码如下即可 (3)如果既配置了用户到角色的关系,也配置了角色到用户的关系,就会出现主键冲突,因为user和role都可以对主键 阅读全文
posted @ 2021-11-08 20:00 不是孩子了 阅读(35) 评论(0) 推荐(0) 编辑
摘要:1、使用远程连接工具XShell连接linux操作系统 PASS 看笔记 阅读全文
posted @ 2021-11-07 17:52 不是孩子了 阅读(28) 评论(0) 推荐(0) 编辑
摘要:为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力 (1)没有实现动静分离 (2)实现动静分离 阅读全文
posted @ 2021-11-07 17:00 不是孩子了 阅读(29) 评论(0) 推荐(0) 编辑
摘要:客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服务器处理完毕后,再将结果返回给客户端 / / / 这种架构模式对于早期的系统相对单一,并发请求相对较少的情况下是比较合适的,成本也比较低。但是随着信息数量的不断增加,访问量和数据量的飞速增长,以及业务系统的复杂度的增加,这种 阅读全文
posted @ 2021-11-07 16:53 不是孩子了 阅读(29) 评论(0) 推荐(0) 编辑
摘要:(1)正向代理 Nginx不仅可以做反向代理,实现负载均衡。还能用正向代理来进行上网等功能。 正向代理:如果把局域网外的Internet想象成一个巨大的资源库,则局域网中的客户端要访问Internet,则需要通过代理服务器来访问,这种服务就称为正向代理 (2)反向代理 反向代理,其实客户端对代理是无 阅读全文
posted @ 2021-11-07 16:37 不是孩子了 阅读(47) 评论(0) 推荐(0) 编辑
摘要:1、什么是Nginx Nginx是一个高性能的HTTP和反向代理服务器,特点是占有内存小,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。 Nginx专为性能优化而开发,性能是其最重要的考量,实际上非常注重效率,能经受住高负载的考验。有报告表明能支持高达50000个并发连接 阅读全文
posted @ 2021-11-07 16:17 不是孩子了 阅读(30) 评论(0) 推荐(0) 编辑
摘要:实现多个城市的飞线随机生成 <!DOCTYPE html> <html lang="zh-CN"> <head> <!-- 百度地图案例学习 --> <meta charset="utf-8"> <title>MapVGL</title> <meta http-equiv="X-UA-Compati 阅读全文
posted @ 2021-11-06 18:45 不是孩子了 阅读(100) 评论(0) 推荐(0) 编辑
摘要:(1)打开百度地图开放平台 > 控制台 > 创建应用 > 获得我们的AK (2)打开MapVGL,选择“飞线图层”进行案例学习。 (3)点击动手试试,复制代码,对代码进行改造 (4)编写代码:实现从广州到福州的飞线 <!DOCTYPE html> <html lang="zh-CN"> <head> 阅读全文
posted @ 2021-11-06 18:32 不是孩子了 阅读(78) 评论(0) 推荐(0) 编辑
摘要:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Echarts</title> <script src="./js/echarts.min.js"></script> </head> <body> <!--准 阅读全文
posted @ 2021-11-06 17:14 不是孩子了 阅读(645) 评论(0) 推荐(0) 编辑
摘要:(1)先在webstorm中创建vue项目 (2)安装echarts npm install echarts 或者 npm install echarts --save 加上--save就可以在package.json中看到我们的echarts**【推荐】** (3)启动我们的项目:npm run 阅读全文
posted @ 2021-11-06 15:39 不是孩子了 阅读(599) 评论(0) 推荐(0) 编辑
摘要:(1)引入Echarts的js文件 / / / / / (2)编写代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Echarts</title> <script src="./js/echarts.mi 阅读全文
posted @ 2021-11-06 14:27 不是孩子了 阅读(96) 评论(0) 推荐(0) 编辑
摘要:https://www.cnblogs.com/guo-xu/p/10839751.html 阅读全文
posted @ 2021-11-06 14:07 不是孩子了 阅读(29) 评论(0) 推荐(0) 编辑
摘要:(1)配置user到role的关系 (2)配置role到user的关系 阅读全文
posted @ 2021-11-05 23:45 不是孩子了 阅读(28) 评论(0) 推荐(0) 编辑
摘要:(1)创建工程,引入坐标,编写配置文件:都跟先前的一个样 (2)编写实体类 (用户类) package com.study.pojo; import javax.persistence.*; @Entity @Table(name = "sys_user") public class User { 阅读全文
posted @ 2021-11-05 23:14 不是孩子了 阅读(31) 评论(0) 推荐(0) 编辑
摘要:(1)在一的一方的实体类中添加如下代码 cascade = CascadeType.ALL表示级联所有操作 / / / / / (2)测试级联添加 / / / / / (3)测试级联删除 不要忘记修改我们的配置,因为我们要用到数据库中的数据了,不要自动创建表了 编写代码: 阅读全文
posted @ 2021-11-05 22:35 不是孩子了 阅读(38) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211105220131208-144630915.png) ![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211105220538032-524374674.png) 阅读全文
posted @ 2021-11-05 22:06 不是孩子了 阅读(12) 评论(0) 推荐(0) 编辑
摘要:(1)查看上一个保存案例的jpql语句 我们通过如下代码配置了客户到联系人的关系 从客户的角度上:发送了两条insert语句,发送了一条更新语句更新数据库(就是更新外键) 由于我们配置类从客户到联系人的关系:客户可以对外键进行维护 / / / / / (2)接下来我们配置从联系人到客户的关系,代码如 阅读全文
posted @ 2021-11-05 21:58 不是孩子了 阅读(61) 评论(0) 推荐(0) 编辑
摘要:(1)在applicationContext.xml中添加配置信息 (2)编写代码测试 (3)查看数据库 阅读全文
posted @ 2021-11-04 23:22 不是孩子了 阅读(28) 评论(0) 推荐(0) 编辑
摘要:(1)配置一对多:在我们的客户实体类上 (2)配置多对一:在我们联系人实体类上配置 阅读全文
posted @ 2021-11-04 21:22 不是孩子了 阅读(31) 评论(0) 推荐(0) 编辑
摘要:(1)创建数据库表 /*创建客户表*/ CREATE TABLE cst_customer ( cust_id bigint(32) NOT NULL AUTO_INCREMENT COMMENT '客户编号(主键)', cust_name varchar(32) NOT NULL COMMENT 阅读全文
posted @ 2021-11-04 20:40 不是孩子了 阅读(30) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211104203145067-1193989883.png) 阅读全文
posted @ 2021-11-04 20:32 不是孩子了 阅读(38) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211104201755712-1969676343.png) 阅读全文
posted @ 2021-11-04 20:15 不是孩子了 阅读(32) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211104200653672-747739913.png) 阅读全文
posted @ 2021-11-04 20:07 不是孩子了 阅读(19) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211104200425977-890837658.png) 阅读全文
posted @ 2021-11-04 20:05 不是孩子了 阅读(20) 评论(0) 推荐(0) 编辑
摘要:/* 案例:完成根据客户名称的模糊匹配,返回客户列表 客户名称以“戴”开头 equal方法:直接得到path对象(属性),然后进行比较即可 gt,lt,ge,le,like:得到path对象,根据path指定比较的参数类型,再去进行比较 指定参数类型:path.as(类型的字节码对象) */ @Te 阅读全文
posted @ 2021-11-04 19:38 不是孩子了 阅读(79) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211104192734921-1515490381.png) 阅读全文
posted @ 2021-11-04 19:28 不是孩子了 阅读(20) 评论(0) 推荐(0) 编辑
摘要:/* 动态查询完成多条件拼接 */ @Test public void testSpec1(){ /* root:获取属性 客户名 所属行业 criteriaBuilder:构造查询: 1、构造客户名的精确匹配查询 2、构造所属行业的精确匹配查询 3、将以上两个查询联系起来 */ Specifica 阅读全文
posted @ 2021-11-04 19:18 不是孩子了 阅读(132) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211104180540345-675652988.png) 阅读全文
posted @ 2021-11-04 18:06 不是孩子了 阅读(25) 评论(0) 推荐(0) 编辑
摘要:{{uploading-image-538379.png(uploading...)}} 阅读全文
posted @ 2021-11-04 17:48 不是孩子了 阅读(31) 评论(0) 推荐(0) 编辑
摘要:(1)引入依赖:跟我们先前引入的依赖是一样的 <dependencies> <!-- spring相关坐标 --> <!--junit单元测试--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <versi 阅读全文
posted @ 2021-11-04 17:26 不是孩子了 阅读(33) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211104171921944-866429712.png) 阅读全文
posted @ 2021-11-04 17:19 不是孩子了 阅读(29) 评论(0) 推荐(0) 编辑
摘要:/ / / 阅读全文
posted @ 2021-11-04 16:27 不是孩子了 阅读(33) 评论(0) 推荐(0) 编辑
摘要:/ / / / 阅读全文
posted @ 2021-11-04 16:06 不是孩子了 阅读(41) 评论(0) 推荐(0) 编辑
摘要:/ / / 阅读全文
posted @ 2021-11-04 15:58 不是孩子了 阅读(38) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211104154609050-261237097.png) ![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211104154624111-294795001.png) 阅读全文
posted @ 2021-11-04 15:46 不是孩子了 阅读(49) 评论(0) 推荐(0) 编辑
摘要:sql语句的查询: (1)特有的查询:需要在dao接口上配置方法 (2)在新添加的方法上,使用是注解的形式配置sql查询语句 (3)注解:@Query ** value:jpql语句 | sql语句** ** nativeQuery:是否使用本地查询** false(使用jpql查询) | true 阅读全文
posted @ 2021-11-04 15:41 不是孩子了 阅读(112) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211104152618958-1015353014.png)![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211104162845982-1560664965.png) 阅读全文
posted @ 2021-11-04 15:26 不是孩子了 阅读(43) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211104152025588-1590250191.png) ![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211104152039790-193576100.png) 阅读全文
posted @ 2021-11-04 15:21 不是孩子了 阅读(35) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211104150115383-1105326095.png) ![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211104150129085-2128572972.png) 阅读全文
posted @ 2021-11-04 15:02 不是孩子了 阅读(34) 评论(0) 推荐(0) 编辑
摘要:(1)在dao中编写方法 (2)进行测试 阅读全文
posted @ 2021-11-03 23:55 不是孩子了 阅读(35) 评论(0) 推荐(0) 编辑
摘要:jpql查询方式: jpql: jpa query language(jpa查询语言) 特点:语法或关键字和sql语句类似 但是不同的是jpql查询的是类和类中的属性 jpql的引入: 需要将jpql语句配置到接口方法上: 1、特有的查询:需要在dao接口上配置方法 2、在新添加的方法上,使用注解的 阅读全文
posted @ 2021-11-03 23:45 不是孩子了 阅读(31) 评论(0) 推荐(0) 编辑
摘要:(1)count (2)exists 阅读全文
posted @ 2021-11-03 23:28 不是孩子了 阅读(70) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211103220010480-5780504.png) 阅读全文
posted @ 2021-11-03 22:00 不是孩子了 阅读(16) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211103215407572-1139750853.png) 阅读全文
posted @ 2021-11-03 21:54 不是孩子了 阅读(39) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211103215144560-114583815.png) 阅读全文
posted @ 2021-11-03 21:52 不是孩子了 阅读(44) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211103213711888-1748668961.png) 阅读全文
posted @ 2021-11-03 21:37 不是孩子了 阅读(80) 评论(0) 推荐(0) 编辑
摘要:只需要编写dao接口,不需要编写dao接口的实体类 dao层接口规范: ** 1、需要继承两个接口(JpaRepository, JpaSpecificationExecutor)** ** 2、需要提供响应的泛型** package com.study.dao; import com.study. 阅读全文
posted @ 2021-11-03 21:16 不是孩子了 阅读(72) 评论(0) 推荐(0) 编辑
摘要:package com.study.pojo; /* 1、实体类和表的映射关系 @Eitity //声明实体类 @Table(name = "表的名称") //声明实体类和表的映射关系 2、类中属性和表中字段的映射关系 @Id //配置主键 @GeneratedValue //指定主键的生成策略 @ 阅读全文
posted @ 2021-11-03 20:57 不是孩子了 阅读(64) 评论(0) 推荐(0) 编辑
摘要:<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance 阅读全文
posted @ 2021-11-03 20:45 不是孩子了 阅读(39) 评论(0) 推荐(0) 编辑
摘要:(1)扩展运算符 (2)箭头函数 阅读全文
posted @ 2021-11-03 15:27 不是孩子了 阅读(31) 评论(0) 推荐(0) 编辑
摘要:1、带参数默认值的函数 注意,如果没有给a赋值默认值,那么调用add函数的时候,我们给a传递值,就可以给a赋值。但是如果我们没有给b赋值默认值,调用add函数时还是会把那个参数传递给a,这样b就没有值,得到错误结果。如下所示: 2、默认的表达式也可以是一个函数 3、剩余参数 (1)es5的写法 控制 阅读全文
posted @ 2021-11-02 23:55 不是孩子了 阅读(92) 评论(0) 推荐(0) 编辑
摘要:以前我们拼接字符串是下面这种方式,比较麻烦。 模板字符串:使用tab上面的那个反引号,插入变量使用${变量名}; 我们使用模板字符串方式来改造。 阅读全文
posted @ 2021-11-02 23:10 不是孩子了 阅读(24) 评论(0) 推荐(0) 编辑
摘要:以前我们写var类型变量时,会有变量提升。 即我们这样写的时候,会把a变量提到上面,如下这种形式。 这会给我们的项目带来一些问题。可以使用let和const来解决。 一、let (1)let声明变量,没有变量提升 (2)let声明变量,是一个块作用域 如下会报错 (3)不能重复声明,变量名称具有唯一 阅读全文
posted @ 2021-11-02 22:51 不是孩子了 阅读(24) 评论(0) 推荐(0) 编辑
摘要:ES6是javascript语言的下一代标准。他的目标,是使js语言可以来编写复杂的大型应用程序,成为企业级开发语言。 阅读全文
posted @ 2021-11-02 21:23 不是孩子了 阅读(39) 评论(0) 推荐(0) 编辑
摘要:<dependencies> <!-- spring相关坐标 --> <!--junit单元测试--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <sc 阅读全文
posted @ 2021-11-01 18:11 不是孩子了 阅读(70) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211101174531122-1053664112.png) ![](https://img2020.cnblogs.com/blog/2506674/202111/2506674-20211101174653734-362112471.png) 阅读全文
posted @ 2021-11-01 17:46 不是孩子了 阅读(8) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示