自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SqlServer查询数据改动历史记录

select top 1000 [QS].[creation_time], substring( [ST].[text], ([QS].[statement_start_offset] / 2) + 1, ( (case [QS].[statement_end_offset] when - 1 then datalength([st

2021-12-30 09:27:42 6716

原创 java按条件合并集合中的部分元素

需求:按照特定条件,将集合中的元素做分类合并。举例:[{item:"a", code:"code1", num:10, sum:20} , {item:"a", code:"code2", num:5, sum:15} } , {item:"b", code:"code3", num:10, sum:20}]将item相同的元素的num值和sum值合并,则合并结果为:[{item:"a", code:"code1", num:15, s

2021-11-09 16:38:50 1035 2

原创 java实现定时任务的几种方式

一、使用注解@Scheduled(cron = )Cron表达式表达式网站生成: http://cron.qqe2.com/按顺序依次为秒(0~59)分钟(0~59)小时(0~23)天(月)(0~31,但是你需要考虑你月的天数)月(0~11)天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)7.年份(1970-2099)其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,

2021-07-22 16:13:34 1254

原创 maven-assembly-plugin

一、maven打包工具使用maven对项目进行打包,可用以下三种pluginmaveb-jar-plugin : maven默认打包插件,用来创建project jarmaven-shade-plugin : 用来打可执行包(executable jar)maven-assembly-plugin : 支持定制化打包方式下面简单介绍以下maven-assembly-plugin二、使用方法1、descriptorRefs官方提供的定制化打包方式,包括bin,jar-with-depend

2021-06-16 18:39:25 19540

原创 JVM相关配置参数含义

Xms :初始化堆内存值Xmx :堆内存最大值这两个值是tomcat服务器内存分配是动态的最好体现,刚启动时系统给tomcat分配的内存为-Xms值,当项目占用的内存达到初始化内存的一定比例后(80%左右),才会将给tomcat分配-Xmx大小的内存,反之亦然当项目占用的内存降至-Xmx的40%时,系统会释放部分内存,又将-Xms大小的内存划分给tomcat服务器。MetaspaceSize :控制matesaceGC发生的初始阈值,也就是最小阈值。当使用的matespace空间到达了Metas

2021-06-16 10:06:22 173

原创 winsw配置文件参数解释说明

id:指定Windows内部用户标识服务的id;在系统安装的所有服务中id必须是唯一的,并且完全由字母数字字符组成。executable:该元素指定要启动的可执行文件;可以是绝对路径,也可以只指定可执行文件名称并从PATH中搜索。arguments:该标签指定的参数传递给可执行文件,多个参数以空格隔开name:服务的简短显示名称,可以包含空格和其他字符;在系统的所有服务中name也必须是唯一的。description:对服务的完整描述。startmode:该元素指定windows

2021-06-15 20:34:19 5875

原创 使用winsw将springboot部署为Windows服务

一、应用需求springboot可以用maven直接打包为.jar文件,但在windows上运行时,有着以下的缺点:需要打开命令行窗口输入命令行才可运行,很不方便需要停止程序时只能在任务管理器中结束,并且多个这样程序运行时无法从进程名中进行区分服务启重启后,程序无法实现自启动为了改善以上缺点,所以使用winsw将springboot部署成Windows服务。二、winsw下载1.可在github上下载对应版本github仓库地址github下载地址百度网盘:链接提取码:0000三

2021-06-15 19:58:12 868

原创 浅谈JWT

一、JWT简介        JWT(JSON WEB TOKEN)是一个基于JSON的公开规范(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息使用了数字签名,可以被验证与信任。二、应用场景Authorization(授权):JWT最常见的应用场景,一旦用户登录,后续每个请求都将包含JWT,允许用户访问该令牌允许的路由、服务和资源。单点登录是现在广泛使用的JWT

2021-06-03 20:26:53 284 1

原创 in和exists的效率问题

in 是把外表和内表作hash链接exists是对外表作loop循环,每次loop循环再对内表进行查询。一直以来总认为exists比in的效率高,这种说法是不准确的。如果查询的两个表大小相当的话,那么用in和exists的效率差别不大。如果两个表中一个较小的表A,一个大表B,两个表都有字段cc则有以下几种情况:select * from A where cc in (select cc from B) 效率低,用到了A 表上cc 列的索引;select * from A where exis

2020-12-15 17:36:25 1934

原创 sql中exists用法

exists关键字介绍exists强调的是 是否返回结果集,不要求知道返回什么,比如:SELECT * FROM AM_USER WHERE EXISTS (SELECT 1 FROM AM_ROLE WHERE NAME = 'admin')只要exists引导的子句有结果集返回,那么exist的条件就成立。SELECT 1 FROM AM_ROLE 返回的数字没有意义,exists子句不在乎返回什么,而是在乎有没有结果返回。而exists与in最大的区别在于in引导的子句只能返回一个字段,比如

2020-12-15 17:04:02 27333

原创 23种设计模式—⑤观察者模式

1.模式的定义与特点观察者(Observer)模式定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式。观察者模式是一种对象行为型模式,其主要优点如下:降低了目标与观察者之间的耦合关系,两者之间是抽象耦合关系。目标与观察者之间建立了一套触发机制。它的主要缺点如下:目标与观察者之间的依赖关系并没有完全解除,而且有可能出现循环引用。当观察者对象很多时,通知的发布会花费很多时间,影响程序的

2020-10-13 16:20:31 156

原创 23种设计模式—④策略模式

1.策略模式官方定义及分析策略模式也叫政策模式,允许程序在运行时选择一个算法执行,通常存在一类算法实现提供外部选择执行,这里的算法,也可以叫策略。定义一类算法,各自独立封装实现,并且相互之间是可替换的。除此之外,由客户端决定具体使用何种算法。两个定义中都提及到了算法一词,这里的算法含义比较宽泛,指的是一个业务操作。定义中提到的 通常存在一类算法实现提供外部选择执行 ; 定义一类算法,各自独立封装实现,并且相互之间是可替换的。 很像是父类中定义方法,不同的子类去重写方法,所以说策略模式体现的是

2020-10-10 16:53:52 172 1

原创 23种设计模式—③代理模式

代理模式是SpringAOP的底层分为静态代理和动态代理静态代理角色分析:抽象角色:一般使用接口或抽象类来解决真实角色:被代理的角色代理角色:代理真实角色,代理真实角色后,一般会做一些附属操作客户:访问代理对象的人用租房子来举个例子,抽象角色为租房子,真实角色为房东,代理角色为中介,客户为想租房的人首先时抽象角色,租房接口public interface Rent { ...

2020-01-18 22:11:31 158

原创 23种设计模式—②工厂模式

作用:实现了创建者和调用者的分离核心本质:实例化对象不使用new,用工厂方法代替将选择实现类,创建对象统一管理和控制。从而将调用者跟我们的实现类解耦。先说说oop的几个原则开闭原则:一个软件的实体应当对扩展开放,对修改关闭依赖倒转原则:要针对接口变成,不要针对实现编程迪米特原则:只与你直接的朋友通信,而避免和陌生人接触工厂模式的实现要尽量遵循oop原则1、简单工厂模式用...

2019-12-19 18:46:00 156

原创 23种设计模式—①单例模式

单例模式:保证一个类只有一个实例,并且提供一个该实例的全局访问点单例模式的要素1.私有的静态的实例对象2.私有的构造函数(保证在该类外部,无法通过new的方式来创建对象实例)3.公有的、静态的、访问该实例对象的方法1、饥汉式public class Singleton1 { //1、私有化的构造方法 private Singleton1(){ ...

2019-12-04 18:10:03 128

原创 SpringBoot—②用IDEA快速构建springboot项目

打开idea创建一个新项目选择使用spring然后选择需要的模块,这里选择spring web模块,可以选择多个模块,也可以后期添加点击完成创建项目这样就创建好了创建主启动类同级别目录controller,在其下创建controller类package com.anye.controller;import org.springframework.web.bind.annot...

2019-12-02 16:39:22 145

原创 SpringBoot—①第一个SpringBoot程序

环境:jdk1.8maven 3.6.1springboot 2.2.0IDEA官方提供了一个快速生成的网站,IDEA集成了这个网站。

2019-12-02 16:02:47 170

原创 MySQL的InnoDB和MyISAM引擎

数据库的存储引擎数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等,使用不同的存储引擎,还可以获得特定的功能。InnoDB和MyISAM是MySQL的两个存储引擎MySQL默认的存储引擎是InnoDB,但是MySQL对于多存储引擎有着很好的兼容,一个数据库服务器上不同的数据库完全可...

2019-09-11 11:42:24 119

原创 线程与进程及进程间通信和线程间通信的几种方式

进程和线程的区别:对于进程来说,子进程是父进程的复制品,从父进程那里获得父进程的数据空间,堆和栈的复制品。而线程,相对于进程而言,是一个更加接近于执行体的概念,可以和同进程的其他线程之间直接共享数据,而且拥有自己的栈空间,拥有独立序列。共同点: 它们都能提高程序的并发度,提高程序运行效率和响应时间。线程和进程在使用上各有优缺点。 线程执行开销比较小,但不利于资源的管理和保护,而进程相反。同时...

2019-09-07 09:12:02 1442

原创 SSM—Spring、SpringMVC、Mybatis整合练习

1、首先准备好环境先创建好练习中要使用的数据库ssmbuildCREATE DATABASE `ssmbuild`;USE `ssmbuild`;CREATE TABLE `books` ( `bookID` INT(10) NOT NULL AUTO_INCREMENT COMMENT '书id', `bookName` VARCHAR(100) NOT NULL COMME...

2019-09-06 12:42:24 324

原创 SpringMVC—⑥拦截器

代码实现1、先导包<?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:schemaLocation="http://maven....

2019-09-04 19:41:54 167

原创 SpringMVC—⑤文件的上传下载

文件上传首先要导包 <!--文件上传和下载的包commons-fileupload,依赖于commons-io--> <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --> <dependency> ...

2019-09-03 18:53:48 91

原创 SpringMVC—④AJAX

简介AJAX:全称Asynchronous JavaScript and XML,异步的javascript和xmlAJAX最大的特点就是能在不加载整个页面的情况下,能够与服务器交换数据并更新部分网页内容传统的网页(不使用Ajax技术的网页)想要更新内容或者提交一个表单,都需要重新加载整个网页。使用Ajax技术的网页,通过后台服务器进行少量的数据交换就可以实现异步局部更新。Ajax的核...

2019-09-02 22:31:54 101

原创 SpringMVC—③JSON

什么是JSONJSON:全称JavaScript Object Notation,js对象简谱,是一种轻量级的数据交换格式。它是基于ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来储存和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。JSON是一种取...

2019-08-30 18:53:48 106

原创 SpringMVC—②结果跳转方式

环境准备上一篇博客的HelloSpringMVC代码即可https://blog.csdn.net/qq_40763549/article/details/1001130111. ModelAndView设置ModelAndView对象,根据View名称和视图解析器,跳转到指定的页面页面:{视图解析器的前缀}+viewName+{视图解析器的后缀}...

2019-08-29 16:38:59 380

原创 SpringMVC—①概述

什么是MVCMVC:全称model view controller,模型、视图、控制器,是一种软件设计规范,也就是说它不是设计模式本质 是将业务逻辑,数据,显示 分离的方式来编写代码,前后端分离Model:数据模型,提供要展示的数据,一般我们都会把这两个分离开,数据Dao层,服务层Service层。view:负责进行数据的渲染和展示,是客户想看到的东西Controlle...

2019-08-28 16:00:25 147

转载 IDEA debug提示Connected to the target VM, address: '127.0.0.1:xxxxx', transport: 'socket'的原因。

这个问题跟跟网上资料说的maven版本不兼容,ctrl+shift+F8 去除勾选什么的没有关系。很明显这里不是显示启动信息的地方,这是显示变量的地方,就是断点进入后变量的展示位置。那么去找你的Console控制台吧这里是没有的。然后点击这个按钮就出现了console了。 有的console和endpoints是合并的,仔细一点就好了。如果你也出现了这样的问题,大可以去试一试。我的就是因...

2019-08-28 11:35:00 14528

原创 Spring框架—⑧使用注解开发

代码演示1. 使用注解开发需要导入spring的一系列包; <!--spring web mvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmv...

2019-08-27 15:43:23 101

原创 Spring框架—⑦声明式事务

一、概述Spring支持两种事务处理机制:编程式事务:把所有事务的代码写在业务中;声明式事务:使用AOP横切进去;一般都会使用声明式事务要开启 Spring 的事务处理功能,在 Spring 的配置文件中创建一个 DataSourceTransactionManager 对象:<bean id="transactionManager" class="org.springfram...

2019-08-27 15:29:09 159

原创 Spring框架—⑥整合MyBatis

首先回忆Mybatis导包:mybatis。数据库驱动包。junit;编写实体类编写mybatis配置文件编写接口编写接口对应的mapper映射文件注册映射文件测试1、导包mybaitsmysql驱动的junitspring-coremybatis-spring整合包 【最重要】 <!--单元测试--> <dependency&...

2019-08-27 15:17:04 81

原创 Spring框架—⑤AOP之原理与实现

什么是AOP  AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向切面编程。可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现。  我们现在做的一些非业务,如:日志、事务、安全等都会写在...

2019-08-24 15:02:01 107

原创 Spring框架—④AOP之代理

代理模式分为 动态代理与静态代理AOP底层机制就是动态代理静态代理代理模式的角色分析:抽象角色: 一般会使用抽象类或者接口实现真实角色: 被代理的角色代理角色: 代理真实角色,然后一般会做一些附属的操作客户: 使用代理角色进行一些操作这里用房东、中介与房客来举个例子1、首先,是个租房的接口package com.anye.staticproxy;//租房的接口public...

2019-08-08 16:07:46 106

转载 IDEA Error:java: Compilation failed: internal java compiler error

解决办法很简单:File–>Setting…–>Build,Execution,Deployment–>Compiler–>Java Compiler 设置相应Module的target bytecode version的合适版本(跟你jkd版本一致),这里我改成1.8版本的。...

2019-08-08 14:47:40 92

原创 Spring框架—③依赖注入DI、Bean作用域及自动装配

依赖注入DI,Dependency injection依赖: 指bean对象的创建依赖于Spring容器注入: 指Bean对象所依赖的资源,由容器来设置和装配在beans.xml中配置1、常量注入 <!--普通字段--> <bean id="user1" class="com.anye.pojo.User"> <property name...

2019-08-08 14:03:02 173

原创 Spring框架—②创建对象的方式以及配置文件

我们平时创建对象的方式为有参构造与无参构造,那在Spring中怎么处理这两种情况?1、实体类package com.anye.pojo;public class User { private String name; private String sex; private int age; public User() { System....

2019-08-07 11:50:39 140

原创 Spring框架—①概述

Spring,给软件行业带来了春天Spring官网:https://spring.io/Spring下载:https://spring.io/projects/spring-framework#learnSpringGithub地址:https://github.com/spring-projects/spring-frameworkSpring官网下载地址:https://repo.sp...

2019-08-05 10:50:02 130

原创 Mybatis—⑥多对一、一对多处理

多对一多个对象对应一个对象首先,准备好环境,创建老师表和学生表CREATE TABLE `teacher` ( `id` int(10) NOT NULL, `name` varchar(30) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8CREATE TABLE `student...

2019-08-04 10:37:42 132

原创 Mybatis—⑤使用注解开发

优化项目事务优化:自动提交事务//获得一个带事务自动提交功能的SqlSession公共的方法public static SqlSession getSession(){ return sqlSessionFactory.openSession(true); }别名优化:pojo包下类自动设置别名<!--配置别名--><typeAliases> ...

2019-08-01 17:37:46 115

原创 Mybatis—④日志实现与分页实现

log4 java:java日志的实现首先了解一下log4jLog4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置...

2019-07-31 19:46:39 147

原创 Mybatis—③优化代码

一、优化配置文件1、创建一个database.properties文件放在resources下driver = com.mysql.jdbc.Driverurl = jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=utf-8username = rootp...

2019-07-30 16:52:50 100

空空如也

空空如也

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

TA关注的人

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