Mysql—多表连接查询
在一般的业务情况下,我们大致将 Mysql多表连接 分为如下几种: 内连接:INNER JOIN – 可简写为 JOIN; 左外连接:LEFT OUTER JOIN – 可简写为 LEFT JOIN;…
Mybatis一对一、一对多、多对多查询(补充)
场景:使用三张数据表:student学生表、teacher教师表、position职位表 一个学生可以有多为老师、一位老师可以有多个学生、但是一个老师只能有一个职位:教授、副教授、讲师;但是一个职位可…
SpringBoot—Redis缓存(Cache)
经过Spring Boot的整合封装与自动化配置,在Spring Boot中整合Redis已经变得非常容易了,开发者只需要引入Spring Data Redis依赖,然后简单配下redis的基本信息,…
Java—Serializable接口(序列化)
工作中我们经常在进行持久化操作和返回数据时都会使用到javabean来统一封装参数,方便操作,一般我们也都会实现Serializable接口,那么问题来了,首先:为什么要进行序列化;其次:每个实体be…
Nginx介绍
基本介绍 Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。 N…
SpringBoot—搞定 session 共享
在传统的单服务架构中,一般来说,只有一个服务器,那么不存在 Session 共享问题,但是在分布式/集群项目中,Session 共享则是一个必须面对的问题,先看一个简单的架构图: 在这样的架构中,会出…
Spring Data Redis 使用(SSM版)
Spring Data Redis 介绍 Spring Data Redis 是 Spring 官方推出,可以算是 Spring 框架集成 Redis 操作的一个子框架,封装了 Redis 的很多命令…
SpringBoot—操作 Redis
使用 Java 操作 Redis 的方案很多,Jedis 是目前较为流行的一种方案,除了 Jedis ,还有很多其他解决方案。 除了这些方案之外,还有一个使用也相当多的方案,就是 Spring Dat…
Spring Boot 中自定义 SpringMVC 配置,到底继承谁?
用过 Spring Boot 的人都知道,我们只需要在项目中引入 spring-boot-starter-web 依赖,SpringMVC 的一整套东西就会自动给我们配置好,但是,…
SpringMVC笔记17—拦截器
SpringMVC 中的拦截器,相当于 Jsp/Servlet 中的过滤器,只不过拦截器的功能更为强大。 拦截器的定义非常容易: @Component public class MyIntercept…
SpringMVC笔记16—静态资源访问
在 SpringMVC 中,静态资源,默认都是被拦截的,例如 html、js、css、jpg、png、txt、pdf 等等,都是无法直接访问的。因为所有请求都被拦截了,所以,针对静态资源,我们要做额外…
SpringMVC笔记15—RESTful
越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种”互联网软件”采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。网站开发,…
SpringMVC笔记14—JSON
一、返回JSON 目前主流的 JSON 处理工具主要有三种: jacksongsonfastjson 在 SpringMVC 中,对 jackson 和 gson 都提供了相应的支持,就是如果使用这两…
SpringMVC笔记13—@ModelAttribute
@ModelAttribute 这个注解,主要有两方面的功能: 在数据回显时,给变量定义别名定义全局数据 1.定义别名 在数据回显时,给变量定义别名,非常容易,直接加这个注解即可: @RequestM…
SpringMVC笔记12—数据回显基本用法
1.数据回显基本用法 数据回显就是当用户数据提交失败时,自动填充好已经输入的数据。一般来说,如果使用 Ajax 来做数据提交,基本上是没有数据回显这个需求的,但是如果是通过表单做数据提交,那么数据回显…
SpringMVC笔记11—服务端数据校验
为什么需要服务器端校验 最早的校验,就是服务端校验。早期的网站,用户输入一个邮箱地址,校验邮箱地址需要将地址发送到服务端,服务端进行校验,校验成功后,给前端一个响应。有了JavaScript,校验工作…
SpringMVC笔记10—全局异常处理
项目中,可能会抛出多个异常,我们不可以直接将异常的堆栈信息展示给用户,有两个原因: 用户体验不好非常不安全 所以,针对异常,我们可以自定义异常处理,SpringMVC 中,针对全局异常也提供了相应的解…
SpringMVC笔记9—文件上传与下载
SpringMVC 中对文件上传做了封装,我们可以更加方便的实现文件上传。从 Spring3.1 开始,对于文件上传,提供了两个处理器: CommonsMultipartResolverStandar…
SpringMVC笔记8—参数绑定
1.默认支持的参数类型 默认支持的参数类型,就是可以直接写在 @RequestMapping 所注解的方法中的参数类型,一共有四类: HttpServletRequestHttpServletResp…
SpringMVC笔记7—Controller 方法的返回值
1.返回 ModelAndView 如果是前后端不分的开发,大部分情况下,我们返回 ModelAndView,即数据模型+视图: @Controller @RequestMapping("/user"…
SpringMVC笔记6—@RequestMapping
这个注解用来标记一个接口,这算是我们在接口开发中,使用最多的注解之一。 1.请求 URL 标记请求 URL 很简单,只需要在相应的方法上添加该注解即可: @Controller public clas…
SpringMVC笔记5—处理器详解
1.HandlerMapping (PS:处理器即我们平时所见到的 Controller) HandlerMapping ,中文译作处理器映射器,在 SpringMVC 中,系统提供了很多 Handl…
SpringMVC笔记4—DispatcherServl(前端控制器)
1.DispatcherServlet作用 DispatcherServlet 是前端控制器设计模式的实现,提供 Spring Web MVC 的集中访问点,而且负责职责的分派,而且与 Spring …
SpringMVC笔记3—组件介绍
1.DispatcherServlet:前端控制器 用户请求到达前端控制器,它就相当于 mvc 模式中的c,DispatcherServlet 是整个流程控制的中心,相当于是 SpringMVC 的大…
SpringMVC笔记2—HelloWord
接下来,通过一个简单的例子来感受一下 SpringMVC。 1.利用 Maven 创建一个 web 工程。 2.在 pom.xml 文件中,添加 spring-webmvc 的依赖: <depe…
SpringMVC笔记1—简介
1 .Spring Web MVC是什么 Spring Web MVC 是一种基于 Java 的实现了 Web MVC 设计模式的请求驱动类型的轻量级 Web 框架,即使用了 MVC 架构模式的思想,…
Redis笔记—做延迟消息队列
我们平时说到消息队列,一般都是指 RabbitMQ、RocketMQ、ActiveMQ 以及大数据里边的 Kafka, 这些是我们比较常见的消息中间件,也是非常专业的消息中间件,作为专业的中间件,它里…
Redis笔记—分布式锁
分布式锁实现的思路很简单,就是进来一个线程先占位,当别的线程进来操作时,发现已经有人占位 了,就会放弃或者稍后再试。 在 Redis 中,占位一般使用 setnx 指令,先进来的线城先占位,线城的操作…
Lambda最通俗易懂的一篇文章(Java 8)
什么是Lambda? “Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstr…
Redis笔记—连接java客户端(Lettuce)
Lettuce 和 Jedis 的一个比较: Jedis 在实现的过程中是直接连接 Redis 的,在多个线程之间共享一个 Jedis 实例,这是线城不安 全的,如果想在多线程场景下使用 Jedis,…