自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小陈没烦恼

Time heals everything

  • 博客(80)
  • 收藏
  • 关注

原创 spring整合mybatis(纯注解)

我们在写一个独立的小项目的时候往往不需要引入mvc模块,仅仅需要操作数据库即可所以就整合一下spring和mybatis,方便进行对数据库的操作。

2022-08-27 19:25:46 715 1

原创 JDBC连接Mysql数据库

首先,来解释一下什么是JDBC,Java DataBase Connectivity,它是Java数据库连接 的缩写,它提供了一套流程用于我们在Java代码中去操作我们的数据库。其次,在JDBC中主要用到3个对象用于获取对于数据库的连接建立了连接之后,需要有操作SQL的对象操作完SQL要有能够接受结果的对象相信有过工作或者实习的经验的小伙伴或有所体会,在工作的项目中使用框架来操作数据库(例如mybatis框架),写SQL都是非常方便的,但有时候领导让你写个小工具或者小脚本,难道我们还要把整个框架搭建起

2022-06-25 11:21:16 584

原创 多线程实现异步任务管理器

异步任务管理器就是一个可以快速创建异步任务的一个工具提高业务系统响应速度,实现不同业务之间的解耦记录访客日志,发送工单等如果系统每一步的日志记录都是伴随着业务一起执行的,那么当系统访问量增的时候,就会大大降低系统的响应速度因为写操作是比读操作更耗时的,如果能够做到异步的记录日志,就不必等待日志记录完成即可返回查询、搜索结果,异步任务可以通过多线程也可以通过消息队列配合定时任务来实现,但是相对于小型系统采用多线程的方式相对便捷自定义线程池实现了单例模式获取自定义线程池对象,以及通过该单例对象初始化一个线程

2022-06-11 20:52:34 1409

原创 ftl页面中获取request数据

后台设置数据request.setAttribute("errorMsg", "地址不正确");页面获取数据${Request.errorMsg} ...

2022-04-17 11:40:18 596

原创 连接mysql数据库报错Cannot create PoolableConnectionFactory

原因mysql驱动mysql-connector-java 版本低解决办法升级mysql-connector-java版本我升级的是mysql-connector-java-5.1.48.jar下载链接链接: https://pan.baidu.com/s/1z1BA-YS4X4xI0Jc4hqgUZA 提取...

2022-04-17 00:23:24 858

原创 大根堆的创建-java版本

一、介绍大根堆就是所有父结点都比它的左右孩子大。存储结构:采用数组进行存储,同完全二叉树的存储一样。数组从0开始则:2i+1为左孩子,2i+2为右孩子。数组从1开始则:2i为左孩子,2i+1为右孩子。二、算法思想若数组长度为n,根据完全二叉树的性质可知:(1)1到n/2 为父结点(2)n/2+1到n为叶子节点...

2022-04-16 10:58:54 831

原创 Java单例模式

温馨提示: ...

2022-04-09 07:39:32 159

原创 springboot项目中discard long time none received connection报错

问题springboot项目中 discard long time none received connection 报错报错提示的是数据库长时间没有收到连接报错,上网查了一下是由于druid数据源的原因。解决办法在springboot的启动类中增加静态代码块,启动时就执行。static { System.setProperty("druid.mysql.usePingMethod","false"); }...

2022-04-03 22:16:27 1417

原创 java实现删除目录

问题要求:采用java实现删除指定目录及其下所有文件如果直接directory.delete(),是不能够直接删除不为空的目录。这里采用递归实现,首先获取该目录下的所有内容,放到files数组里,然后对于files进行循环,并判断是文件还是目录如果是目录的话,则递归调用deleteDir(),如果是文件的话则直接删除,当deleteDir()走完一次则将该目录删除(directory.delete()),这样可以保证,最后能够将传入的目录也删除。代码实现public ...

2022-03-31 05:03:32 5474

原创 vue3引入element

一、介绍vue2版本需要引入element-uivue3版本需要引入element-plus创建vue项目地址二、正式开始1. 引入依赖main.jsimport ElementPlus from 'element-plus';import 'element-plus/dist/index.css'createApp(App).use(ElementPlus)2. 引入组件在页面中引入所需的组件即可...

2022-03-29 14:47:52 1691

原创 初始化创建一个vue项目

一、安装nodejs1. 下载地址:Node.js2. 检查安装情况二、构建vue项目1. 安装vue-cli# 安装淘宝npmnpm install -g cnpm --registry=https://registry.npm.taobao.org# vue-cli 安装依赖包3.0+npm install @vue/cli -g# 打开vue的可视化管理工具界面vue ui2. 查看安装版本#查看vue-cli版本vue -V#查看vue...

2022-03-29 02:22:35 245

原创 bat脚本删除目录下的文件

今天在写脚本的时候有一个场景是需要判断目录是否存在如果存在的话就删除掉这个目录,然后在执行其他操作。我们需要删除delete目录及其目录下的所有文件D:set dir= deleteecho %dir%if exist %dir% (del /s /q %dir%rd /s /q %dir%)pause...

2022-03-23 05:33:25 4263

原创 mysql存储过程的使用详解

哈喽我的宝,今天我们一起来学习一下存储过程,采用轻量级的数据库MySQL,如有错误欢迎大家留言指正。今天主要采用存储过程来实现银行转账操作一、定义/概念存储过程简单来说就是将过程化SQL存储下来方便多次重复使用过程化SQL突破了传统SQL的局限性,可以进行复杂的逻辑操作基本结构采用CREATE PROCEDURE关键字 后面节存储过程名称所有的SQL和逻辑判断语句都写在BEGIN 和 END 之间,就类似于我们在c语言中定义函数的花括号{}CREATE PROCE...

2022-02-18 21:07:21 1998

原创 在springboot中使用腾讯QQ邮箱发送邮件时出现的错误

一、问题描述1.1 问题一STARTTLS is required but host does not support STARTTLS1.2 解决办法将starttls关闭,修改以下两个参数mail.smtp.starttls.enable: falsemail.smtp.starttls.required: false详细配置properties: mail.smtp.auth: true mail.smtp.ssl.enable: true ..

2022-02-13 06:10:05 2107

原创 springboot项目采用docker运行

一、创建Dockerfile文件Dockerfile# 环境版本FROM anapsix/alpine-java:8_server-jre_unlimitedMAINTAINER www.it1997.com# JVM调优参数等额外参数ENV PARAMS ""ENV TZ=PRCRUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone# 指定...

2022-02-12 22:00:55 393

原创 MySQL参数sql-mode配置

一、问题描述采用Navicat连接mysql,在执行SQL时报错[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; this i...

2022-02-12 09:56:55 890

原创 docker安装mysql

我们在使用mysql时通常需要进行的调优的配置,如果每次都进容器里进行配置非常的麻烦,并且容器里也无法编辑所以我们直接将mysql容器里的配置文件挂载到宿主机里面,方便我们进行配置修改。一、拉取mysql镜像docker pull mysql二、准备mysql配置文件[mysqld]pid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockdata...

2022-02-12 02:56:34 308

原创 mysql创建触发器

一、 触发器的介绍1.1 触发器的分类触发器分为 for each row(作用在每行)和 for each statement(作用在每条语句),这二者的区别的就是当一条语句使得多条记录发生改变时,前者会触发多次触发器,而后者只会触发一次。1.2 触发事件的分类触发事件,用于指定激活触发器的语句的种类。触发...

2022-02-10 07:19:07 7030

原创 宝塔nginx配置ssl问题

问题描述nginx: [emerg] the size 10485760 of shared memory zone "SSL" conflicts with already declared size 1048576 in /www/server/panel/vhost/nginx/tool.it1997.com.conf:16nginx: configuration file /www/server/nginx/conf/nginx.conf test failed解决办法修改n...

2022-02-08 06:07:25 3956 1

原创 mysql备份数据库脚本

温馨提示: ...

2022-02-07 21:26:33 586

原创 mysql用户的创建及授权

用户的创建创建用户:zhangsan 密码:123456create user 'zhangsan'@'%' IDENTIFIED by '123456';为用户授权将所有数据库的所有表都授权给用户:zhangsan# 不允许将权限授权给别人grant all on *.* to 'zhangsan';# 允许将权限继续授权给别人grant all on *.* to 'zhangsan' WITH GRANT OPTION; # 将test数据库的所有表的sele...

2022-02-07 00:48:47 825

原创 linux查看开放端口

netstat -anp

2022-02-06 22:12:12 1356

原创 docker安装redis

我们在使用redis时通常需要进行个性化的设置,例如设置密码等等,所以我们在安装redis的时候指定配置文件启动拉取镜像docker pull redis准备redis配置文件创建配置文件目录mkdir /etc/docker/redis/config新建redis的配置文件redis.confvi /etc/docker/redis/config/redis.conf配置文件内容注意配置文件内不要加端口,加了之后连接不上bind 0.0.0.0p...

2022-02-06 05:09:47 57

原创 Repository epel is listed more than once in the configuration解决办法

问题在安装docker的时候出现Repository epel is listed more than once in the configuration原因看报错的意思是在yum的仓库下有很多配置文件解决方法我也不知道其他的是干什么的,所以就建一个bak目录将除了CentOS-Base.repo之外的文件都移动到bak目录下备份。然后在安装各种软件就可以了。...

2022-01-22 10:36:55 7712

原创 docker常用命令

镜像相关查看镜像docker images拉取镜像(默认最新版本)docker pull 镜像名称:版本号实例docker pull centos:7docker pull centos删除镜像docker rmi 镜像名称/镜像id容器相关创建一个新容器并运行(以守护进程的方式)docker run -di --name=容器名称 镜像名称实例docker run -di --name=mynginx nginx:latest其...

2022-01-22 07:53:24 100

原创 docker设置开机启动

开启启动systemctl enable docker其他命令启动systemctl start docker停止systemctl stop docker查看状态systemctl status docker

2022-01-22 02:05:03 758

原创 计算机网络层次结构

OSI/ISO七层模型⑦应用层⑥表示层⑤会话层④传输层③网络层 :路由器;功能:路由选择、流量控制、差错控制、拥塞控制②数据链路层 :交换机,网桥①物理层 :中继器,集线器,物理层又称为傻瓜层,不对数据进行处理TCP/IP四层模型④应用层 :HTTP/FTP/DNS/SMTP/RTP协议③传输层 :TCP/UDP协议②网际层 :IP协议①网络接口层TCP/IP五层模型⑤应用层 :HTTP/FTP/DNS/SMTP协议④传输层 :TCP/UDP协议...

2022-01-09 22:01:09 361

原创 redis配置以及密码设置

前言redis默认情况下是没有密码的,这很容易导致服务器被攻击,被挖矿!今天就给大家简单讲解一下自己在配置redis过程中所学习的,方便大家以后快速的上手。注意:如果想快速配置则不需要看参数介绍,直接看总结!!!参数介绍redis中主要有三个参数来进行安全控制的,也是我们最常用的三个。bind①这个参数默...

2022-01-08 02:24:11 8087

原创 linux下设置开机自启动

问题当我们在linux下部署多个程序的时候 一个一个的结束进程,非常的麻烦。解决办法编写一个shell脚本,加入到开机自启动就可以了。具体步骤①编写脚本 在/etc/init.d 目录下新建一个需要执行的脚本文件vi blog_start.sh注意脚本里的注释要去掉#!/bin/bashecho ...

2021-12-31 23:28:11 396

原创 奇偶排序c语言实现

代码实现#include<stdio.h> void PrintArrary(char desc[],int a[],int len){ puts(desc); for(int i = 0;i<len;i++){ printf("%d ",a[i]); } printf("\n");}int odd_even_sort(int a[],int len){ int flag = 0,temp; //flag用来标识 序列是否有序 初始状态是无序的 while(

2021-12-14 22:43:29 988

原创 统计矩阵中元素既是所在行的最小值也是所在列的最小值

编写一个函数,对给定m*n的矩阵A,统计这个矩阵中具有以下特征元素,该元素既是所在行的最小值,也是所在列的最小值,打印出这些特殊元素以及坐标算法思想第一步 确定每一行元素的最小值 记录下最小值以及坐标第二步 根据第一步确定该行元素的最小值,在该行最小元素的所在列查找 该列的最小值 并记录下来该列的最小第三步 比较 一 二 步记录的最小值,如果相同则打印该元素 及其 坐标代码实现#include<stdio.h> #define M 3#define N 4int old_e.

2021-12-10 23:00:20 910

原创 矩阵的加法C语言实现(可运行)

天下文章一大抄,看了好多博客,内容都是一模一样的,很少有自己写的,代码也没有注释,难受想哭!!!这里呢,我就自己记录一下供大家参考学习#include <stdio.h> #define Maxsize 10 //三元组结构体 typedef struct { int e; //元素的...

2021-12-01 12:04:01 2208

原创 三元组矩阵的加法C语言实现(可运行)

稀疏矩阵A和B都是三元组

2021-12-01 00:40:51 2348 1

原创 交换排序之冒泡排序和快速排序

冒泡排序和快速排序都是通过两两关键字之间进行比较大小然后进行交换位置来进行的所以这里放在一起来学习之前博客里有写过,需要详细的可以在博客里搜索一下这里直接上代码了#include <stdio.h> #define N 20/***打印数组 */void PrintArrary(char desc[],int a[],int len){ puts(desc); for(int i = 0;i<len;i++){ print...

2021-11-22 13:37:56 150

原创 插入排序之直接插入排序和希尔排序

直接插入排序和希尔排序都属于插入排序,所以这里把两种算法放到一起来比较一下。希尔排序是在直接插入排序的基础上进行改进的,所以算法很相近。前面的文章有单独讲解两种算法的还有图解,这里就不过多的赘述。#include <stdio.h> #define N 20/***打印数组 */void PrintArrary(char desc[],int a[],int len){ puts(desc); for(int i = 0;i<len;i++...

2021-11-20 16:13:06 212

原创 快速排序-C语言版(带图详细)

前言哈喽,大家好,我最近在复习数据结构中的排序算法章节,今天复习到了交换排序算法中的快速排序算法,所以给大家分享一下。一、什么是快速排序?快速排序算法是在几种排序算法中效率最高的一个排序算法了,故称为快速排序,它的时间复杂度为:O(nlog~2~n),相比冒泡排序算法的O(n^2^)有很大的提升。二、算法思想1、选取一个基准元素(一般我们将待排序序列中的第一个元素选取为基准元素)2、将其他元素与基准元素进行比较,比基准元素大的放到基准元素的右边,比基准元素小的放到基准元素的右...

2021-09-04 23:02:36 16203 6

原创 冒泡排序-C语言版(带图详细)

前言相信大家在学习数据结构算法的时候经常会遇到的问题就是,老师讲解完这个算法思想,自己也听懂了,但一到自己写代码就写不出来,或者是即便自己模模糊糊的照着网上的代码自己写出来了,但是过几天就又忘了,其实这就是我们没有深刻的理解的这个算法的思想。接下来,我就结合图例给大家详细的讲解一下。<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">一、什么是冒泡排序?冒泡排序的名字是因为元...

2021-09-04 18:42:02 54459 9

原创 图的存储结构以及深度优先遍历-C语言版

前言学完图的深度优先遍历算法后,如何将我们的逻辑思维通过代码来实现呢?由于书中给的都是伪代码,所以这里大家实现了一下。一、图在计算机中如何存储呢?图跟其他数据结构类似也有两种存储结构那么就是,顺序存储结构和链式存储结构。1.顺序存储那么,现在有一个如下的图,需要采用顺序存储结构来存储到计算机中。是如何实现的呢?我们通过一维数组来存储图的顶点,通过邻接矩阵(二维数组)来存储边。 这样我们就可以通过计算机来描述这个图了。邻接矩阵:表示顶点间相邻关系的矩阵一维数组...

2021-09-04 17:35:47 1116

原创 kmp模式串匹配算法

kmp算法和求next数组以及nextval数组的代码实现,可以真机运行。

2021-05-04 22:27:11 172

原创 中缀表达式求值C语言实现

采用栈来实现中缀表达式求值问题

2021-05-01 22:06:05 2940 4

空空如也

空空如也

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

TA关注的人

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