自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 关于数据库范式的讲解

   数据库范式是一种设计数据库的方法,在数据库这门学科来说,我认为这是一个比较难的点,以至于有很多工作多年的工程师以及考研考证的小伙伴没有真正的弄懂,因此我翻阅了大量的资料,希望能用通俗易懂的方式给大家讲解一下第一范式、第二范式、第三范式以及BC范式到底是什么,帮助大家能独立设计出高质量且规范化的数据库表。   要说范式,那么我们应该先谈谈什么叫做函数依赖,函数依赖分两种,分别是部分函数依赖以及传递函数依赖,接下来我们会逐一介绍。

2024-02-02 17:31:14 436 1

原创 关于sentinel没有监控数据的问题

今天,继续给大家去排雷,这个雷有点奇妙,因为有的人会遇到,有的人遇不到。这个雷就是标题所述的问题,这分两种情况,如果client端和server端在同一服务器上部署,或者client端ip能在公网上访问的话,这个问题就不会出现这个问题。反之,就会出现这个问题,接下来我们详细说说解决的方法。咦,怎么什么都没有,明明我们client端的配置文件没有写错,然后我们便会上网查到底发生了什么问题,结果最多的是,由于client端和server端不在统一服务器上,导致client端无法注册到server端当中。

2022-09-11 23:44:27 2160

原创 在将本地ip映射到公网上的方法

为什么要写这篇文章呢,由于工作上的一个业务场景,公司的某个业务需要和别的合作伙伴对接API,那么总不能每次都要发版之后对方才能访问到我们的接口吧,而是在开发的过程中可以让对方访问我们本地项目的接口,那么才能使双方对接过程高效。因此我给大家推荐一个能解决这个问题的工具------ngrok!是不是很期待,而且用上了就无法自拔,可以让对方访问自己本地的项目,真的是太爽了!那么废话不多说,直接上干货!

2022-09-02 23:33:08 4431 1

原创 用24张图介绍九大数据结构

用24张图介绍九大数据结构数据结构想必大家都不会陌生,对于一个成熟的程序员而言,熟悉和掌握数据结构和算法也是基本功之一。数据结构本身其实不过是数据按照特点关系进行存储或者组织的集合,特殊的结构在不同的应用场景中往往会带来不一样的处理效率。常用的数据结构可根据数据访问的特点分为线性结构和非线性结构。线性结构包括常见的链表、栈、队列等,非线性结构包括树、图等。数据结构种类繁多,本文将通过图解的方式对常用的数据结构进行理论上的介绍和讲解,以方便大家掌握常用数据结构的基本知识。⭐数组数组可以说是最基本最常见

2022-03-24 11:29:14 940

原创 JavaIO 输入输出流

JavaIO 输入输出流⭐File类在Java的iO包中,java.io.File,使用该类的构造函数就可以创建文件对象,将硬盘中的一个具体的文件以Java对象的形式来表示。方法描述public File(String pathname)根据路径创建对象public String getName()获取文件名public String getParent()获取文件所在目录public File getParentFile()获取文件所在目录对应的File

2022-03-24 11:08:28 935 1

原创 Spring Boot_4

Spring Boot 整合 Spring Data JPASpring Data JPA 是 Spring Data ⼤家族的⼀员JPA 和 Spring Data JPA 的关系JPA (Java Persistence API)Java 持久层规范,定义了⼀系列 ORM 接⼝,它本身是不能直接使⽤,接⼝必须实现才能使⽤,Hibernate 框架就是⼀个实现了 JPA 规范的框架。Spring Data JPA 是 Spring 框架提供的对 JPA 规范的抽象,通过约定的命名规范完成持久层接

2021-10-11 23:40:15 136

原创 Spring Boot_3

Thymeleaf 对象Thymeleaf ⽀持直接访问 Servlet Web 原⽣资源,HttpServletRequest、HttpServletResponse、HttpSession、ServletContext。#request: 获取 HttpServletRequest 对象#response: 获取 HttpServletResponse 对象#session: 获取 HttpSession 对象#servletContext: 获取 ServletContext 对象@G

2021-10-11 23:11:28 169

原创 Spring Boot_2

实际应⽤JSTLpom.xml<dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version></dependency> <dependency> <groupId>org.projectlombok</groupId> <artifac

2021-10-08 18:05:53 102

原创 Spring Boot_1

title: Spring Boot_1categories: Spring Boottags: 笔记Spring Boot通过 Spring Boot 可以快速构建⼀个基于 Spring 框架的 Java Application,简化配置,⾃动装配。JavaConfiguration ⽤ Java 类替代 XML 的配置⽅式。Spring Boot 对常⽤的第三⽅库提供了配置⽅案,可以很好地和 Spring 进⾏整合,⼀键式搭建功能完备的 Java 企业级应⽤。开箱即⽤是 Spring B.

2021-09-28 21:52:20 94

原创 Spring MVC_5

⽂件下载JSP ⻚⾯中添加超链接,进⾏下载。<%-- Created by IntelliJ IDEA. User: southwind Date: 2020-02-13 Time: 14:01 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><

2021-09-28 21:48:23 225

原创 Spring MVC_4

传统的 Web 开发中,from 只⽀持 GET 和 POST,不⽀持 DELETE 和 PUT,如何解决?通过添加HiddenHttpMethodFilter 过滤器,可以将 POST 请求转为 PUT 或者 DELETE。HiddenHttpMethodFilter 的实现原理HiddenHttpMethodFilter 检测请求参数重是否包含 _method 参数,如果包含则取出它的值,并且判断请求类型之后完成请求类型的转换,然后继续传递。实现步骤在 form 表单中添加隐藏域标签,name

2021-09-24 16:04:35 113

原创 Spring MVC_3

HttpServletRequestSpring MVC 可以在业务⽅法中直接获取 Servlet 原⽣ Web 资源,只需要在⽅法定义时添加HttpServletRequest ⼊参即可,在⽅法体中直接使⽤ request 对象。@RequestMapping("/request")public String request(HttpServletRequest request){ User user = new User(); user.setId(1); user.setName("张三

2021-09-17 16:54:17 163

原创 Spring MVC_2

JSP页面的转发和重定向Spring MVC 默认以转发的形式响应 JSP,可以⼿动进⾏修改。⭐重定向@RequestMapping("/restful/{id}/{name}")public String restful(@PathVariable("id") Integer id,@PathVariable("name")String name){ System.out.println(id+"-"+name); return "redirect:/index.jsp"; }设置重定

2021-09-16 15:48:48 124

原创 Spring MVC_1

Spring MVC介绍Spring MVC是Spring Framework提供的web组件,全称是Spring Web MVC,是目前主流的实现MVC设计模式的框架,提供前端路由映射,视图解析等功能。Spring MVC功能MVC:Model(模型层)、Controller(控制层)、View(视图层)流程:Controller接收客户请求、调用相关业务层组件产出Model、获取业务数据并返回给Controller,Controller再结合View完成业务数据的视图层渲染,并将结果响应给客户端

2021-09-06 13:41:59 208

原创 Spring AOP

Spring AOPAOP(Aspect Oriented Programming)面向切面编程。OOP(Object Oriented Programming)面向对象编程,用对象化的思想来完成程序。AOP是对OOP的一个补充,是在另外一个维度上抽象出对象。⭐具体是指程序运行时动态地将非业务代码切入到业务代码中,从而实现程序的解耦合,将非业务代码抽象成一个对象,对对象编程就是面向切面编程。上述形式的代码维护性差,没有代码复用性。,使用AOP进行优化,结果如下图所示AOP的优点可以降低模

2021-08-30 19:02:14 139

原创 Spring IoC底层实现

Spring基于注解实际开发的使用⭐实际开发我们会将程序分为三层:ControllerServiceRepository(DAO)关系:客户端和Controller交互,Controller调用Service,Service调用Repository,Repository调用数据库。⭐@Component注解是将标注的类加载到IoC容器中,实际开发中可以根据业务需求分别使用@Controller、@Service、@Repository注解来标注控制层类、业务层类、持久层类。MyCont

2021-08-29 15:37:16 229

原创 Spring基于注解实际开发的使用

Spring基于注解实际开发的使用⭐实际开发我们会将程序分为三层:ControllerServiceRepository(DAO)关系:客户端和Controller交互,Controller调用Service,Service调用Repository,Repository调用数据库。⭐@Component注解是将标注的类加载到IoC容器中,实际开发中可以根据业务需求分别使用@Controller、@Service、@Repository注解来标注控制层类、业务层类、持久层类。MyCont

2021-08-28 16:18:06 149

原创 Spring IoC基于注解的开发

Spring IoC基于注解的开发Spring IoC的作用是帮助开发者创建项目中所需要的bean,同时完成bean之间的依赖注入关系,DI。⭐实现该功能有两种方式:基于XML配置基于注解⭐基于注解有两步操作,缺一不可:配置自动扫包。<!-- 配置自动扫包 --><context:component-scan base-package="com.oyrf.entity"></context:component-scan>添加注解@Compon

2021-08-28 14:57:23 150

原创 Spring IoC自动装载autowire

Spring IoC自动装载autowire自动装载是Spring提供的一种更加简便的方式来完成DI(依赖注入),不需要手动配置property,IoC容器会自动选择bean完成注入。⭐自动装载有两种方式:byName,通过属性名完成自动装载byType,通过属性对应的数据类型完成自动装载⭐byName的方式创建Person实体类package com.oyrf.entity;import lombok.Data;@Datapublic class Person {

2021-08-28 14:56:38 534

原创 Spring工厂方法

Spring工厂方法IoC通过工厂模式创建bean有两种方式:⭐静态工厂方法⭐实例工厂方法静态工厂方法不需要实例化,而实例化工厂需要实例化。静态工厂方法创建Car类package com.oyrf.entity;import lombok.AllArgsConstructor;import lombok.Data;@Data@AllArgsConstructorpublic class Car { private Integer num; private

2021-08-24 17:57:27 227

原创 Spring 进阶

Spring 进阶Spring中的beanbean是根据scope来生成,表示bean的作用域,scope有四种类型:⭐singleton:单例,表示通过Spring容器获取的对象是唯一的,默认值。⭐prototype:原型,表示通过Spring容器获取的对象是不同的。⭐request:请求,表示在一次HTTP请求内有效。⭐session:会话,表示在一个用户会话内有效。request、session适用于web项目。⭐singleton模式下,只要加载IoC容器,无论是否从IoC中取出b

2021-08-23 21:05:16 165

原创 Spring DI

Spring DIDI指的是bean之间的依赖注入,设置对象之间的级联关系。⭐Classespackage com.oyrf.entity;import lombok.Data;import java.util.List;@Datapublic class Classes { private Integer id; private String name; private List<Student> students;}⭐Studentpac

2021-08-23 21:03:53 95

原创 Spring快速入门

Spring快速入门Spring两大核心机制⭐IoC:工厂模式⭐AOP:代理模式IoCIoc是Spring框架的灵魂,控制反转lombok可以邦之开发者自动生成实体类相关的方法。 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> &l

2021-08-23 21:01:43 77

原创 MyBatis动态SQL

MyBatis动态SQL使用动态SQL可简化代码开发,减少开发者工作量,程序可以自动根据业务参数来决定SQL的组成。⭐if标签<select id="findByAccount" parameterType="com.oyrf.frist.Account" resultType="com.oyrf.frist.Account"> select * from t_account where <if test="id!=0">id = #{id

2021-08-20 23:06:00 76

原创 MyBatis缓存

MyBatis缓存MyBatis缓存的定义使用缓存可以减少Java应用与数据库的交互次数,从而提升程序的运行效率。比如查询出id=1,第一次查询出之后会自动将该对象保存到缓存中,当下一次查询时,直接从缓存中取出对象即可,无需再次访问数据库。MyBatis缓存分类一级缓存:SqlSession级别,默认开启,且不能关闭操作数据库是需要创建SqlSession对象,在对象中有一个HashMap用于存储缓存数据,不同的SqlSession之间缓存数据区域是互不影响的。一级缓存的作用域是SqlSess

2021-08-20 23:05:09 81

原创 MyBatis延迟加载

MyBatis延迟加载延迟加载的定义:延迟加载也叫懒加载、惰性加载,使用延迟加载可以提高程序的运行效率,针对于数据持久层的操作,在某些特定的情况下去访问特定的数据库,在其他情况下可以不访问某些表,从一定程度上减少了java应用与数据库的交互次数。例如:查询学生和班级时,学生和班级是两张不同的表,如果当前需求只需要获取学生的信息,那么查询学生单表即可,如果需要同学生获取对应的班级信息,则必须查询两张表。不同的业务需求,需要查询不同的表,根据具体的业务需求来动态减少数据表查询的工作就是延迟加载。在c

2021-08-20 23:04:14 84

原创 MyBatis逆向工程

逆向工程MyBatis框架需要:实体类、自定义Mapper接口、Mapper.xml传统的开发中上述的三个组件需要开发者手动创建,逆向工程可以帮助开发者来自动创建三个组件,减轻开发者的工作量,提高工作效率。如何使用MyBatis Generator,简称MBG,是一个专门为MyBatis框架开发者定制的代码生成器,可自动生成MyBatis框架所需的实体类、Mapper接口,Mapper.xml,支持基本的CRUD操作,但是一些相对复杂的SQL需要开发者自己来完成。⭐新建Maven工程,pom.x

2021-08-20 23:02:39 67

原创 MyBatis级联查询

MyBatis级联查询⭐一对多Studentpackage com.oyrf.frist;import lombok.Data;@Datapublic class Student { private long id; private String name; private Classes classes;}Classespackage com.oyrf.frist;import lombok.Data;import java.util.Lis

2021-08-15 23:11:12 97

原创 MyBatis Mapper详解

MyBatis Mapper详解Mapper.xml⭐statement标签:select、update、delete、insert分别对应查询、更新、删除、插入操作⭐parameterType:参数数据类型基本数据类型,通过id查询Account <select id="findById" parameterType="long" resultType="com.oyrf.frist.Account"> select * from t_account w

2021-08-15 16:18:58 359

原创 通过Mapper代理实现自定义接口

通过Mapper代理实现自定义接口只需要干以下两件事情⭐自定义接口,定义相关业务方法。⭐编写与方法相对应的Mapper.xml。步骤自定义接口package com.oyrf.repository;import com.oyrf.frist.Account;import java.util.List;public interface AccountRepository { //增 int save(Account account); //删 int

2021-08-14 15:29:00 394

原创 MyBatis快速入门

title: MyBatis快速入门categories: JAVA技术栈tags: 笔记MyBatis快速入门MyBatis概述MyBatis是Apache的一个开源项目iBatis,2010年这个项目由Apache software foundation迁移到了google code,并且改名为MyBatis,2013年11月迁移到github。MyBatis是一个实现了数据持久化的开源框架,简单理解就是对JDBC进行封装。ORMapping:Object Relationship Ma.

2021-08-13 00:44:48 128

原创 整理一下javaSE笔记

title: 整理一下javaSE笔记1.面向过程和面向对象的比较1.1面向过程:侧重的是过程优点:简单缺点:代码量大了以后维护性很差1.2面向对象:侧重的是对象优点:可扩展性非常强,维护成本低缺点:新手上手难1.3造车画图纸定义车的属性信息:color、speed、seat…定义车的动作:跑拿着图纸找工厂生产车1.4总结面向对象的世界里,类就是图纸,属性就是这一类事物拥有的共同属性,动作就是这一类事物共同执行的功能。而对象就是使用类创建的具体某一个东西。对象能干什.

2021-08-11 23:03:19 130

空空如也

空空如也

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

TA关注的人

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