自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

吴声子夜歌的博客

个人学习笔记

  • 博客(141)
  • 资源 (1)
  • 收藏
  • 关注

原创 Spring注解--@Scope、@Lazy

@Scope@Scope默认是单例模式,即scope=“singleton”。另外scope还有prototype、request、session、global session作用域。scope="prototype"多例例:@scope默认是单例模式(singleton)即:@scope(“prototype”)1.singleton单例模式,全局有且仅有一个实例2.prototyp...

2019-11-30 21:21:16 359

原创 Spring注解--@Configuration、@Bean、@ComponentScan的过滤规则FilterType详解

@Configuration和@Bean从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器...

2019-11-30 20:01:19 2306 1

原创 MyBatis--基于注解的动态SQL实例

POJOpackage pers.zhang.pojo;public class UserInfo { private int id; private String userName; private String password; private String realName; private String sex; private St...

2019-11-30 17:22:07 728

原创 MySQL--锁机制、事务

锁机制锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算机资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤为重要,也更加复杂。锁的分类从对数据操作的类型读锁(共享锁):针对同一份...

2019-11-30 13:17:56 241

原创 MySQL--全局查询日志

全局查询日志永远不要在生产环境不要开启这个功能!!!配置启用在mysql的my.cnf中,设置如下:#开启general_log=1#记录日志文件的路径general_log_file=/path/logfile#输出格式log_output=FILE编码启用#开启set global general_log=1;set global log_output='TABLE...

2019-11-30 13:17:30 287

原创 MyBatis--注解增删改查和级联查询

Mybatis注解的使用实例创建Maven工程及配置依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoca...

2019-11-30 13:16:52 714

原创 Vim--按键说明(编辑模式、指令模式)

一般模式切换到编辑模式的可用的按钮说明进入输入或取代的编辑模式 i, I 进入输入模式(Insert mode): i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。 (常用) a, A 进入输入模式(Insert mode): a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。(常用...

2019-11-29 21:30:58 426

原创 Vim--按键说明(一般模式可用的光标移动、复制粘贴、搜索替换等)

按键说明移动光标的方法 h 或 向左箭头键(←) 光标向左移动一个字符 j 或 向下箭头键(↓) 光标向下移动一个字符 k 或 向上箭头键(↑) 光标向上移动一个字符 l 或 向右箭头键(→) 光标向右移动一个字符 如果你将右手放在键盘上的话,你会发现 hjkl 是排列在一起的,因此可以使用这四个按钮来移动光标。 如果想要进行多次移动的话,例如向下移动 30...

2019-11-29 21:27:14 641

原创 Vim--键盘图、工作模式

Vim键盘图程序员定制版:vi/vim 的模式基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:命令模式:用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字...

2019-11-29 21:13:35 374

原创 MySQL--用Show Profile进行sql分析

Show ProfileShow Profile是MySQL提供给可以用来分析当前会话中语句执行的资源消耗情况,可以用于SQL的调优测量。默认情况下,参数处于关闭状态,并保存最近15次的运行结果。分析步骤查看当前版本是否支持: show variables like ‘profiling’;将其打开 set profiling = on;运行SQLselect * from em...

2019-11-29 13:49:09 313

原创 MySQL--批量数据脚本

批量数据脚本建表:CREATE TABLE dept(id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,deptno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0,dname VARCHAR(20) NOT NULL DEFAULT '',ioc VARCHAR(13) NOT NULL DEFAULT '')ENGI...

2019-11-29 13:48:47 376

原创 Linux--目录结构、文件(目录)命名规则、识别文件类型

Linux目录结构linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。在 Linux 世界里,一切皆文件。目录结构的具体介绍Linux文件(目录)命名规则Linux 系统中,文件和目录的命名规则如下:除了字符“/”之外,所有的字符都可以使用,但是要注意,在目录名或文件名中,使用某些特殊字符并不是明智之举。例如,在...

2019-11-29 13:48:27 711

原创 SpringMVC--拦截器的两种实现方式(HandlerInterceptor、WebRequestInterceptor)及拦截器的执行流程(单个、多个)

拦截器概述对于任何优秀的MVC框架,都会提供一些通用的操作,如请求数据的封装、类型转换、数据校验、解析上传的文件、防止表单的多次提交等。早期的MVC框架将这些操作都写死在核心控制器中,而这些常用的操作又不是所有的请求都需要实现的,这就导致了框架的灵活性不足,可扩展性降低。Spring MVC提供了Interceptor拦截器机制,类似于Servlet中的Filter过滤器,用于拦截用户的请求并...

2019-11-28 16:19:38 4349

原创 SpringMVC--国际化的三种方式详解(AcceptLanguageLocaleResolver、SessionLocaleResovler、CookieLocaleResolver)

国际化概述基于浏览器请求的国际化实现新建实体类package pers.zhang.entity;/** * @author zhang * @date 2019/11/28 - 11:34 */public class User { private String loginName; private String password; private i...

2019-11-28 15:53:44 1390 2

原创 Springmvc--访问静态资源(js、css、img...)的三种配置方式、解决引入jQuery失败问题

SpringMVC访问静态资源 <servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> ...

2019-11-27 13:52:22 710

原创 SpringMVC--使用fastjson配置详解

fastjson配置详解引入依赖pom.xml <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.8</version> </d...

2019-11-27 13:51:57 1136

原创 SpringMVC--使用hibernate validator数据校验

JSR 303Spring3开始支持JSR 303 验证框架,JSR303是Java为Bean数据合法性校验所提供的标准框架。JSR 303 支持XML和注解风格的验证,通过在Bean属性上标注类似于@NotNull等的标准注解指定校验规则,并通过标准的验证接口对Bean进行验证。JSR 303注解约束约束说明@Null被注解的元素必须为Null@NotNull...

2019-11-27 12:43:24 472

原创 SpringBoot--SpringMVC自动配置原理、自定义配置

4、SpringMVC自动配置https://docs.spring.io/spring-boot/docs/1.5.10.RELEASE/reference/htmlsingle/#boot-features-developing-web-applications1. Spring MVC auto-configurationSpring Boot 自动配置好了SpringMVC以下是S...

2019-11-26 13:14:25 393

原创 MySQL--慢查询日志、日志分析工具mysqldumpslow

满查询日志MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10秒以上的语句。由它来查看哪些SQL超出了我们的最大忍耐...

2019-11-26 13:14:11 565

原创 MySQL--索引Order By优化、Group By优化

索引Order By优化建表及准备数据:CREATE TABLE tblA(id INT PRIMARY KEY AUTO_INCREMENT,age INT,birth TIMESTAMP NOT NULL);INSERT INTO tblA(age,birth) VALUES(22,NOW());INSERT INTO tblA(age,birth) VALUES(23,NO...

2019-11-26 13:13:44 956

原创 MySQL--小表驱动大表

小表驱动大表

2019-11-26 13:13:05 283

原创 MySQL--索引面试题分析

索引面试题分析建表及准备数据:CREATE TABLE test03(id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,c1 CHAR(10),c2 CHAR(10),c3 CHAR(10),c4 CHAR(10),c5 CHAR(10));INSERT INTO test03(c1,c2,c3,c4,c5) VALUES('a1','a2...

2019-11-26 13:12:53 335

原创 MySQL--索引失效的各种情况举例分析(一)

索引失效建表及准备数据:CREATE TABLE `staffs`(`id` INT PRIMARY KEY AUTO_INCREMENT,`name` VARCHAR(24) NOT NULL DEFAULT '' COMMENT '姓名',`age` INT NOT NULL DEFAULT 0 COMMENT '年龄',`pos` VARCHAR(20) NOT NULL DEF...

2019-11-25 10:33:50 350

原创 MySQL--索引失效的各种情况举例分析(二)

mysql在使用不等于(!= 或 <>)的时候无法使用索引会导致全表扫描is null, is not null 也无法使用索引like 以通配符开头(’%abc…’)mysql索引失效会变成全表扫描的操作解决like ‘%字符串%’时索引失效的方法:CREATE TABLE `tbl_user`(`id` INT(11) NOT NULL AUTO_INCRE...

2019-11-25 10:33:29 319

原创 MySQL--索引三表优化案例分析

索引三表优化案例分析在两表的基础上再创建一张表:CREATE TABLE IF NOT EXISTS `phone`(`phoneid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,`card` INT(10) UNSIGNED NOT NULL,PRIMARY KEY(`phoneid`))ENGINE = INNODB;INSERT INT...

2019-11-25 10:33:08 287

原创 MySQL--索引两表优化案例分析

索引两表优化案例分析建表及准备数据:CREATE TABLE IF NOT EXISTS `class`(`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,`card` INT(10) UNSIGNED NOT NULL,PRIMARY KEY (`id`));CREATE TABLE IF NOT EXISTS `book`(`boo...

2019-11-25 10:32:45 250

原创 MySQL--索引单表优化案例

索引单表优化建表及插入数据:CREATE TABLE IF NOT EXISTS `article`(#文章表`id` INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,#id`author_id` INT(10) UNSIGNED NOT NULL,#作业id`category_id` INT(10) UNSIGNED NOT N...

2019-11-25 10:32:19 252

原创 SpringBoot--模板引擎Thymeleaf、使用&语法

3、模板引擎JSP、Velocity、Freemarker、ThymeleafSpringBoot推荐的Thymeleaf;语法更简单,功能更强大;1、引入thymeleaf; <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin...

2019-11-25 10:31:56 414

原创 SpringBoot--静态资源的映射规则

静态资源的映射规则@ConfigurationProperties(prefix = "spring.resources", ignoreUnknownFields = false)public class ResourceProperties implements ResourceLoaderAware { //可以设置和静态资源有关的参数,缓存时间等 WebMvcAuotConfi...

2019-11-25 10:31:27 278

原创 SpringBoot--日志框架、SLF4j使用原理、统一日志、SpringBoot日志关系、切换日志框架

日志框架市面上的日志框架;JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j…日志门面 (日志的抽象层)日志实现JCL(Jakarta Commons Logging) SLF4j(Simple Logging Facade for Java) jboss-loggingLog4j JUL(java.ut...

2019-11-25 10:30:44 362

原创 MySQL--explain(执行计划)分析数据详解

explain使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。执行计划包含的信息id: SELECT查询的序列号,包含一组数字,表示查询中执行SELECT子句或操作表的顺序,三种情况id相同,执行顺序由上至下id不同,如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行id相...

2019-11-25 10:30:24 302

原创 SpringBoot--@Conditional派生注解、打印自动配置报告

1、@Conditional派生注解(Spring注解版原生的@Conditional作用)作用:必须是@Conditional指定的条件成立,才给容器中添加组件,配置配里面的所有内容才生效;@Conditional扩展注解作用(判断是否满足当前指定条件)@ConditionalOnJava系统的java版本是否符合要求@ConditionalOnBean容器中存...

2019-11-25 10:29:59 609

原创 SpringBoot--配置文件占位符、Profile、配置文件位置及加载顺序、常用外部配置加载顺序

配置文件占位符1. 可以使用随机数${random.value}、${random.int}、${random.long}${random.int(10)}、${random.int[1024,65536]}2. 占位符获取之前配置的值,如果没有可以是用:指定默认值person.last-name=张三${random.uuid}person.age=${random.int}pe...

2019-11-24 21:51:52 916

原创 SpringBoot--自动配置原理

配置文件可以配置的属性配置文件到底能写什么?怎么写?自动配置原理;配置文件能配置的属性参照自动配置原理1)、SpringBoot启动的时候加载主配置类,开启了自动配置功能 @EnableAutoConfiguration2)、@EnableAutoConfiguration 作用:利用EnableAutoConfigurationImportSelector给容器中导入一些组件?...

2019-11-24 15:56:27 256

原创 MySQL--索引(分类、语法、检索原理、适用条件)

索引索引(Index)是帮助MySQL高效获取数据的数据结构。可以简单理解为“排好序的快速查找数据结构”。目的: 提高查找效率,可以类比字典。详解:数据本身之外,数据库还维护着一个满足特定查找算法的数据结构,这些数据结构以某种方式指向数据,这样就可以在这些数据结构的基础上实现高级查找算法,这种数据结构就是索引。一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式...

2019-11-24 15:56:00 328

原创 MySQL--七种JOIN理论详解

七种JOIN理论1. INNER JOIN 内连接2. LEFT JOIN 左连接3. RIGHT JOIN 右连接4. OUTER JOIN 外连接5. LEFT JOIN EXCLUDING INNER JOIN 左连接-内连接6. RIGHT JOIN EXCLUDING INNER JOIN 右连接-内连接7. OUTER JOIN EXCLUDING INNE...

2019-11-24 15:55:28 992

原创 SpringBoot--@PropertySource&@ImportResource&@Bean

@PropertySource作用:加载指定的配置文件@Component//@ConfigurationProperties(prefix = "person")@PropertySource(value = {"classpath:person.properties"})//支持数组形式,一次加载多个配置文件public class Person { @Value("${pe...

2019-11-24 15:54:52 279

原创 Spring--JDBCTemplate常用方法使用

JDBCTemplateexecute(String sql):能够完成执行SQL语句的功能。update(): 可以完成插入、更新和删除操作,有多个重载方法int update(String sql):该方法是最简单的update形式,可以直接传入SQL语句并返回受影响的行数int update(preparedStatementCreator psc):该方法 执行从prep...

2019-11-24 09:39:17 1696

原创 MySQL--SQL执行顺序详解

SQL执行顺序(8)SELECT(9)DISTINCT <select_list> (1)FROM <left_table>(3)<join_type> JOIN <right_table>(2)ON <join_condition>(4)WHERE <where_condition>(5)GROUP BY &...

2019-11-23 19:23:51 342

原创 SpringBoot--properties配置、@Valuehe @ConfigurationProperties对比、配置文件注入值数据校验

properties配置示例:#idea的properties配置文件默认为utf-8编码person.last-name=张三person.age=18person.birth=2017/12/15person.boss=falseperson.map.k1=v1person.map.k2=14person.lists=a,b,cperson.dog.name=dogper...

2019-11-23 19:23:13 523

vuedevtools安装.zip

用于Chrome本地安装vue-devtools,无脑安装!!!! 安装过程: 1.Chrome=》设置=》更多工具=》扩展程序 2.打开开发者模式 3.加载已解压的扩展程序=》选择解压后的文件夹 4.重启浏览器 5.如果失败,在加载后的vuedevtools设置页面开启“允许访问文件网址”

2019-10-27

空空如也

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

TA关注的人

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