自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 人不成熟的五大特征 & 高效能人士的七个习惯

改变对一个人来说是很重要的,但是这些所谓的改变并不是一天可以做到的,而是通过日积月累不断的发现自身缺点加以改正最终获得的不同于之前的自己。 一天两天甚至一年,积累的力量很可怕。人不成熟的五大特征: 1.立刻要回报: 我觉得这个世上所有的人都有一个共性,那么就是“立刻要回报”,感冒了吃药之后就想立马见效;去了一次健身房回到家之后就着急的上称,感叹到“为什么还没有瘦...

2020-01-13 16:06:31 3478 12

原创 The bean ‘xxx‘ could not be injected as a ‘com.enn.kpi.dal.mapper.ext.IBus‘ because it is a JDK dyna

The bean 'xxxService' could not be injected as a 'AaaXxxService' because it is a JDK dynamic proxy that implements: Action: Consider injecting the bean as one of its interfaces or forcing the use of CGLib-based proxies by setting proxyTargetClass=.

2021-10-10 12:49:12 1297

原创 如何实现多租户(过滤器+mybatis拦截器实现多租户)

目录什么是多租户:多租户带来的好处:多租户的几种模式下面我们讲讲如何实现模式二的多租户如何实现多租户?项目中的技术方案:实现步骤:什么是多租户:多租户技术(英语:multi-tenancy technology)或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。多租户带来的好处:第一,系统维护成本低 多租户系统在系统升级时,只需要更新一次。 ...

2021-07-17 20:17:11 5611 11

原创 并发编程-volatile

目录前言:普通 变量读写操作然后根据这些交互操作并且结合上面的例子我们来看一下普通变量访问的流程图:Volatile修饰变量的读写Volitate最初的时候是使用总线锁:Volatile实现 原理:实现过程:那么volatile会不会导致两个线程同时对内存中的值做修改?(volatile的实现原理)Lock前缀指令会做两件事:前言: 上一篇JMM内存模型中已经提到了内存模型中提供了“缓存一致性协议”,那我们在多线程中是不是就可以实现多个线程...

2021-07-14 17:00:40 495 9

原创 并发编程-JMM内存模型

刚刚搭建完angular环境之后我就迫不及待的打开 Vs Code 来创建一个新的项目 但是这个时候出现了问题:弹出的错误提示窗口:通过站在巨人的肩膀上我解决了问题:问题: 虽然配置了环境,但是我们在配置环境之后需要修改我们的h...

2021-07-14 16:10:30 168 1

原创 并发编程-ThreadPoolExecutor的三种线程池

目录前言:FixedThreadPool参数:执行流程图:代码测试:执行流程不推荐使用该方式来创建线程池:SingleThreadExecutor参数:流程图:CachedThreadPoolSynchronousQueue队列的特点:执行流程图:项目中用了这个Cahce线程池出现的问题:Executors 返回线程池对象的弊端如下:前言:上一篇介绍的是直接使用ThreadPoolExecutor来创建线程池,很多人也称通过Threa.

2021-07-13 10:25:18 624 1

原创 并发编程-ThreadPoolExecutor 源码解析

刚刚搭建完angular环境之后我就迫不及待的打开 Vs Code 来创建一个新的项目 但是这个时候出现了问题:弹出的错误提示窗口:通过站在巨人的肩膀上我解决了问题:问题: 虽然配置了环境,但是我们在配置环境之后需要修改我们的h...

2021-07-13 09:54:18 423 2

原创 并发编程 - 浅谈 AQS 源码

目录一、ReentrantLock二、AQS1.和ReentrantLock的关系2.AQS队列同步器源码分析同步队列:独占式同步队列状态获取和释放:释放锁并且唤醒一下一个处于part挂起状态的线程:一、ReentrantLock 在Lock接口出现之前,Java程序主要是靠Synchronized关键字来实现锁的功能,但是在Java 5之后在并发包中增加了Lock接口来实现锁的功能,其中ReentrantLock就是Lo...

2021-07-12 21:14:17 214 2

原创 Mybatis之分页插件 - PageHelper原理讲解

错误一:Failed to convert value of type 'java.lang.String' to required type 'java.util.Date'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type...

2021-07-11 17:05:18 3608

原创 文件流的实战应用

关于文件流:文件字节输入流: FileInputStream类 文件字节输入流可以从指定路径的文件中读取字节数据,文件字节输入流继承InputStream类,并且实现了读取输入流的各种方法 创建文件字节输入流的构造方法: 1.以File对象为参数创建FileInputStream new FileInputStream(File file)以文件对象的绝对路径为参数创建FileInputStream实例 new FileInputStr...

2021-03-31 21:49:20 3003 1

原创 Java后台转换成树结构

package cn.ccccltd.ccccoi.mediumterminvestment.domain;import java.io.Serializable;import java.util.List;/*** @Description:返回前端,业务模块* @author yujiaqi* @date: 2019年9月9日下午2:07:19*/public class ProjectBasicInfoDTO implements Serializable {private .

2021-03-31 21:42:58 2906 3

原创 stream流

Stream()的操作:package com.example.stream;/* * Copyright 2013- Smartdot Technologies Co., Ltd. All rights reserved. * SMARTDOT PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * */import org.apache.ibatis.logging.stdout.StdOutImpl;import.

2021-03-31 21:40:23 276 2

原创 linux常用的命令

常用的linux命令:• 查看 jar 是否启动 ,如已启动,会显示进程ps -ef|grep xxx.jar• 杀进程 kill -9 pid(pid为进程标识号)• 查看防火墙开启的端口firewall-cmd --permanent --zone=public --list-ports• 验证8080端口是否开启firewall-cmd --zone=public --query-port=8080/tcp• 移除防火墙端口firewall-cmd --permanent --r.

2021-03-31 21:35:43 263

原创 序列化ID是什么?

一、前言:现在的实体类不单单要实现 Serializable,还要生成一个序列化ID,如下:那么这个序列化ID是怎么生成的呢?File -> Settings -> Editor -> Inspections -> 搜索Serialization issues ,找到Serializable class without 'serialVersionUID' ->打上勾,Apply->OK最后可以看到已经生成了序列化ID:这个时...

2020-11-21 11:22:38 5525 7

原创 什么是Java序列化和反序列化?

一、先来说说什么是序列化和反序列化? java对象序列化的意思就是将对象的状态转换成字节流,以后可以通过这些值在生成相同状态的对象,对象序列化就是对象持久化的一种实现方法,它是将对象的属性和方法转化为一种序列化的形式用于存储和传输,反序列化就是根据这些保存的信息重建对象的过程。总之: 序列化就是将java对象转化为字节序列的过程 反序列化就是将字节序列转换为java对象的过程二、那么我们为什么要进行序列化呢? 当我们两个进程进行远程...

2020-11-21 11:11:46 3321 6

原创 Replice和RepliceAll (反斜杠 \)的用法:

Replice和RepliceAll的用法:在java中我们经常会用到替换的功能,比如:要把一个字符串中的是所有 逗号 去掉,或者要将字符串中的某种符号转换为另外一种符号,第一想到的就是 Replice 和 RepliceAll那么他们之间有什么区别?replace 的参数是char 或者 charsequence 既可以支持字符的替换,也可以支持字符串的替换 replaceAll的参数是regex ,即 基于规则表达式的替换他们两个的相同点都是全部替换,把源字符串中的某一字符或字符串全部替换

2020-10-25 17:53:58 3392 6

原创 Java 将Word文件转换为HTML格式文件

前言:在很多时候我们都需要到项目中导入word文档,但是后期再次在前段显示这个文档的时候前端往往需要的是html格式的,所以这个时候就会提出一个需求:你们存文档的时候能不能存成html格式的? 于是这篇文章的内容就可以满足这个需求我是通过MultiPartFile类来实现的,上代码:一、首先导入需要的依赖包: <dependency> <groupId>org.apache.poi</groupId>...

2020-10-25 17:16:29 6621 8

原创 windows 允许其他电脑访问本地mysql数据库

今天在公司工作中由于我的本地有一份备份的数据库,服务器的数据库崩掉了 所以让大家连接我的数据库,但是发现他们连接不上,我原本以为只要有ip地址和端口号就可以通过navicate连接上,发现我错误了,今天就给大家聊聊如何让其他主机访问自己本地的mysql数据库我第一想到的就是防火墙有没有关闭,确保关闭了继续往下看第一步: 进入控制面板,打开防火墙2、在新弹出的页面中点击入站规则,在入站规则中找到文件与打印机共享(回显请求--ICMPv4-In)有两个,然后启用规则第二步:添...

2020-10-23 23:10:13 5034 3

原创 windows下实现mysql的主主(主-从)复制

mysql 服务器允许将一个服务器设置为主服务器,另外设置多个从数据库服务器允许将来自一个mysql数据库服务器的数据复制到一个或多个mysql数据库的服务器上 mysql主从是异步复制的过程 底层是什么东西在支撑这主从复制? 答: master 开启bin-log功能,日志文件用于记录数据库的读写增删在主从配置中一共需要三个线程:master: IO线程:主服务器的上面的任何修改都会通过自己的IO 线程保存在二进制日志里面 bin-logslave开启: IO线程:...

2020-10-23 22:52:11 4055 6

原创 Java常用类- Calendar类的常用方法

一、 如何创建 Calendar 日历对象Calendar 是一个抽象类, 无法通过直接实例化得到对象. 因此, Calendar 提供了一个方法 getInstance,来获得一个Calendar对象, 得到的 Calendar 由当前时间初始化.Calendar cal=Calendar.getInstance();二、Canendar的常用方法: //使用默认时区我们可以获得当前的日历时间 Canendar cal=Calendar.getInstance();//获取...

2020-10-10 18:20:53 3534 5

原创 spring boot 整合定时任务集成Quartz

在实际的项目应用中会应用到很多的定时任务,在项目开启的时候就可以自动执行一系列的任务,以及每隔固定时间就去执行定义好的任务我了解到可以实现这种作业调度的是实现方式有三种:第一种:springboot自带的Schedule 第二种:Quartz 第三种:XXLJOB(暂时先不解释)方式一:使用springboot自带的Schedule导入POM依赖:<dependency> <groupId>org.springframework.boot</g...

2020-09-25 17:30:46 3125 9

原创 springboot多数据源配置mybatis采用druid连接池对mysql,hive双数据源整合

介绍:在项目开发的过程中我们很少出现单纯的只使用一个数据源,而一般情况我们在一个项目中会用都多个数据源,最近遇到的项目就需要从大数据的数据中拿部分数据,然后自己项目中的一些业务用mysql所以涉及到两个数据源 本例子就讲解如何利用springboot配置hive、mysql、mybatis这样就不需要使用jdbc去连接方便灵活了很多第一步:首先我们需要下载依赖:maven依赖,包括mybatis,springboot,大数据连接,MySQL依赖,druid等<pr...

2020-09-25 15:38:12 2228 9

原创 如何将下载到本地的JAR包手动添加到Maven仓

在项目开发的过程中我们可能在私服仓库中找不到自己需要的Jar包,这个时候我们自己的Maven仓库中是没有的,需要手动从maven仓库中找到自己需要的jar包下载,然后放到仓库中,然后上传到私服中提供给自己的团队使用我一般下载jar包都在这个网址:https://mvnrepository.com/下面讲解我们如何将从网址上下载的jar包添加到自己的仓库中第一步:从仓库中找到我们需要的jar包手动下载:这个时候我们可以看到一个jar包:第二步:我们通过cmd来安装J..

2020-09-24 17:32:56 468 4

原创 Spring Boot项目批量导入Excel功能

上篇中我们提到了关于解析doc文本文档的方法,那么这篇文章主要来说如果通过Excel批量导入需求介绍: 在任务模块我们不光可以单个添加任务,还可以批量添加任务,于是需要使用Excel来实现实现步骤:一、同样导入POI依赖<!-- 引入poi --> <dependency> <groupId>org.apache.poi</groupId> <artifa...

2020-09-19 13:47:57 4547 6

原创 spring boot项目整合 Apache POI解析word文档

什么是ApachePOI?Apache POI提供API给Java程式对Microsoft Office(Excel、WORD、PowerPoint、Visio等)格式档案读和写的功能ApachePOI常用的类:HSSF - 提供读写Microsoft Excel XLS格式档案的功能。 XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。 HWPF - 提供读写Microsoft Word DOC97格式档案的功能。 XWPF - 提供读写Mic..

2020-09-19 13:25:42 3840 3

原创 亲手教你使用virtualBox让虚拟机连接网络

首先打开网络设置:启动虚拟机,使用nmcli命令,查看当前虚拟机的网络基本信息nmcli connection show显示如下:DEVICE:是网卡的名称设置centos7的网络获取方式为自动获取ipnmcli connection modify enp0s3 \connection.autoconnect yes \ipv4.method autonmcli connection up enp0s3之后我们进行测试,发现网络已经连上...

2020-08-27 20:04:10 1105 5

原创 MyBatis整合Log4j

今天就来说一下我们如何在窗口中看到我们执行了sql语句,使用Log4j工具第一步:首先我们创建一个Maven项目:导入必须的依赖:<dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.20

2020-08-27 11:22:48 1345 2

原创 【Mybatis系列】Mybatis缓存

在学习mybatis缓存之前我们先来看三个问题:什么是缓存: 存在内存的临时数据 将用户经常查询的数据放在缓存(内存)中,用户查询数据就不会用磁盘(关系型数据库数据文件)查询,从缓存中查询,从而提高了查询效率,解决高并发系统的性能问题为什么要使用缓存? 减少和数据库的交互次数,减少系统开销,提高系统的效率什么样的数据能使用缓存? 经常查询,并且不经常修改的数据Mybatis缓存: MyBatis包含一个非常强大的查...

2020-08-26 10:11:53 281 2

原创 【Mybatis系列】多对一、一对多查询

什么是多对一什么是一对多大家应该都已经非常清楚了,下面通过一个需求的例子来讲解来mybatis中如何应用多对一处理:需求:多个学生对应一个老师 , 如果对于学生这边,就是一个多对一的现象,即从学生这边关联一个老师!1.创建两个实体:教师实体:@Data //GET,SET,ToString,有参,无参构造public class Teacher { private int id; private String name;}学生实体:@Datapublic cl

2020-08-25 21:53:19 368 3

原创 【Mybatis系列】动态sql

介绍:什么是动态SQL: 动态Sql指的是根据不同的查询条件,生成不同的sql语句 我们之前写的sql语句都是比较简单的,如果有比较复杂的业务,我们需要写复杂的sql语句,往往需要拼接sql,但是容易由于符号的引用错误mybatis的动态sql语句就是用来解决这个问题的通过if wherechoosewhenotherwisetrimsetforeach等标签可以组合成非常灵活的sql语句<if>:先看一个需求:根据作者名字和博客...

2020-08-25 10:43:41 273 2

原创 【Mybatis系列】#{}和${}有什么区别?

在我们开发过程中写mybatis的时候可能大多数人都使用的是#{} ,但是我们还有另外一个符号${},他们之间的区别是什么?当我们在应用变量的时候默认使用#{},如下:<select id=getUserById resultType="org.hyf.mybatis.model.User"> select * from user where id = #{id};</select><select id=getUserById resultType.

2020-08-25 09:25:45 406 4

原创 【Mybatis系列】强大的resultMap用法

前言: 在实际开发中,resultMap 是使用较多的返回数据类型配置。因为实际项目中,一般的返回数据类型比较丰富,要么字段和属性对不上,要么是一对一、一对多的查询,等等,这些需求,单纯的使用 resultType 是无法满足的,我们需要使用自己定义的resultMap可能大家只看上面的话不能很好的理解,下面就用一个例子来给大家解释在某种情况下单纯的使用resultType是无法满足的1.看一下我们的User表对应的字段名2.Java中设计实体类public class User {

2020-08-25 08:23:49 430 2

原创 【Mybatis系列】常用的全局配置标签

在我们开发的过程中使用mybatis-config.xml来配置关于mybatis的属性,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息,下面我来介绍两个个常用的配置:一、properties properties可以用来引入一个外部配置文件,我们在开发过程中最常用的就是引用数据库的配置文件,我们一般会在resource文件下创建db.properites文件来进行配置数据库db.username=rootdb.password=123db....

2020-08-24 17:51:00 330 2

原创 【Mybatis系列】mybatis 中 mapper配置文件和接口必须同名?

进行在总结mybatis的过程中发现,记忆中都是mapper配置文件和接口名字必须要同名,但是我感觉其实不是,于是查了一下总结: 当我们在mybatis-config.xml文件中配置映射的时候 在注册映射文件时使用:<package name="包名">标签的时候,映射文件名必须和接口名一样,否则报错 在注册映射文件时使用:<packageclass="">标签的时候,映射文件名必须和接口名一样,否则报错推荐使用: 3 . 在注册映...

2020-08-24 16:56:32 2476 2

原创 【Mybatis系列】Mybatis增删改查

增:Insert添加数据记录,id有两种不同的方式方式一:id自增长 如果使用自增长我们的数据库表的设计要保证id默认为自增长<insert id="addUser" parameterType="com.kuang.pojo.User"> INSERT INTO user values(#{id},#{name},#{pwd}) </insert> @Test public void InsertUse...

2020-08-24 16:45:24 438 2

原创 【Mybatis系列】 如何使用Mybatis

前言:在总结这边博客之前其实自己已经在使用mybatis了,但是对于mybatis只是停留在了一个简单的使用上面,那么我们为什么不使用JDBC?而要用Mybatis?下面就来介绍一下JDBC存在的问题:数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库连接池可解决此问题。 Sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变 java 代码。 使用 preparedStatement 向占位符号传参数存在硬编码,因为 sq..

2020-08-24 15:48:02 305 1

原创 SpringData JPA 【springboot整合持久层技术系列】

什么是SpringData: SpringData是一个用于简化数据库访问,支持云服务的开源框架,目标是使数据库访问变得方便快捷 SpringData是数据库开源框架,包含关系数据库和非关系数据库什么是Jpa: JPA是java的标准,不是Spring标准 JPA其实就是java实体对象和关系型数据库建立起映射关系,通过面向对象编程的思想操作关系型数据库的规范一、默认整合在Springboot默认配置下添加新的Ma...

2020-08-22 21:57:55 798 2

原创 Spring boot 整合Mybatis 【springboot整合持久层技术系列】

前言: 前面一篇文章讲了Spring Boot中最简单的数据持久化方案JdbcTemplate,JdbcTemplate虽然简单,但是用的并不多,因为它没有MyBatis方便,在Spring+SpringMVC中整合MyBatis步骤还是有点复杂的,要配置多个Bean,Spring Boot中对此做了进一步的简化,使MyBatis基本上可以做到开箱即用,本文就来看看在Spring Boot中MyBatis要如何使用同样导入Maven依赖注意:mysql版本不能过低,可以看一下自...

2020-08-22 16:25:33 342 2

原创 Spring boot 整合JDBC 【springboot整合持久层技术系列】

第一步:首先导入Maven依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency> <groupId>com.alibaba</groupId> &l

2020-08-22 16:11:39 280 2

原创 jdbc:mysql:///中三条斜杠(///) 第三个/代表什么

今天无意中在博客中看到了这个地址,之前从来没有用过jdbc:mysql:///company等同于 jdbc:mysql://localhost:3306/companycompany指的是数据库名称也就是说第三个'/'代表 'localhost:3306/'

2020-08-15 17:46:31 640 3

空空如也

空空如也

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

TA关注的人

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