自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mybatis拦截器进行处理动态表名的问题

【代码】mybatis拦截器进行处理动态表名的问题。

2024-04-26 16:49:15 195

原创 mysql5.7实现数据库的字段值更新

【代码】mysql5.7实现数据库的字段值更新。

2024-01-08 16:02:36 410

原创 mybatis的foreach

【代码】mybatis的foreach。

2023-07-04 14:04:43 115

原创 原生mybatis批量插入分片

【代码】原生mybatis批量插入分片。

2023-05-04 17:19:50 161

原创 LocalDateTime转Date

LocalDateTime转为Date。

2022-11-02 17:43:16 11866

原创 webService调用

调用WebService接口

2022-10-20 11:18:56 226

原创 Servlet对象获取String数据

servlet对象获取String值

2022-08-18 15:31:02 222

原创 拼接参数返回url【拿走代码的时候希望给个赞】

可以用于封装成工具类,用于一些get请求的时候拼接参数使用 public static void main(String[] args) { Map<String,String> map=new HashMap<>(3); map.put("name","linoan"); map.put("age","18"); map.put("address","浙江"); System.out.println(

2021-08-11 15:57:56 203

原创 git命令进行分支合并

1、使用命令查看当前所属分支git branch2、拉取项目最新的代码git pull3、将A分支的代码合并至B分支上//首先切换分支到想合并的分支上git checkout Bgit merge A4、添加至本地仓库,提交一气呵成git add .git commit -m "A分支代码合并至B分支上"git push...

2021-06-28 15:01:07 6860

原创 Java精度转换

分转元BigDecimal.valueOf(Long.valueOf(price)).divide(new BigDecimal(100)).toString();元转分 DecimalFormat df = new DecimalFormat("0.00"); price = Double.valueOf(df.format(price)); int money = (int)(price * 100);

2021-05-31 16:37:43 263

原创 JVM的学习总结(康师傅版本,更新ing)

1、JVM生命周期1、虚拟机的启动Java虚拟机的启动是通过引导类加载器(bootstrap class loader)创建一个初始类(initial class)来完成,这个类是虚拟机的具体实现指定的。2、虚拟机的执行一个运行中的Java虚拟机有着一个清晰地任务:执行java程序。程序开始执行时他才运行程序,程序结束时他就停止。执行一个所谓的Java程序的时候,真真正正在执行的是一个叫做Java虚拟机的进程。3、虚拟机的退出有如下的的几个情况:程序正常结束程序在执行过程中遇

2021-04-06 20:22:44 221

原创 查找Spring的所有版本(基本覆盖所有版本)

Spring大部分版本的jar包

2021-04-03 17:58:19 543

原创 vue+springboot实现分页

方法1、 //Java部分的主要实现的业务逻辑 public Map<String, Object> getTeacherFrontList(Page<EduTeacher> pageTeacher) { QueryWrapper<EduTeacher> wrapper = new QueryWrapper<>(); wrapper.orderByDesc("id"); Page<EduTe

2021-03-31 20:50:45 384

原创 单点登录相关知识点

基于微服务多模块的架构,各个模块可能会部署在不同的服务器上,那么他们的session值会不尽相同,因此有如下几种方式解决登录问题。1、单点登录常见的方式1.1、session广播机制实现 session的复制1.2、使用cookie+redis实现在项目中任何一个模块进行登录,登录之后,将数据存放至两个地方。 1. redis:在key:(使用一些规则生成随机值【ip、用户id等】,value:存放用户数据 2. cookie:把redis里生成的key值放在cookie中

2021-03-31 13:20:38 84

原创 RabbitMQ基础

1、RabbitMQ消息队列解决了什么问题异步处理应用解耦流量削锋日志处理运行rabbitmq镜像# docker run --name rabbitmq -tid -p 5672:5672 -p 15672:15672 -p 25672:25672 rabbitmq修改rabbitmq设置# docker exec -it 容器号 /bin/bash新增用户# rabbitmqctl add_user [user_name] [pwd]查看用户# rabbitmq

2021-03-17 18:18:14 147

原创 Redis持久化-RDB和AOF

Redis是内存数据库,如果不将内存的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库也会消失。所以Redis提供了持久化功能。1.1、简介内存:高效、断电(关机、内存数据会丢失)硬盘:读写速度慢于内存,断电数据不会丢失1.2、RDB(Redis DataBase)RDB:是Redis默认的持久化机制。RDB相对于照快照,保存的是一种状态。快照:将内存中的数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb优点:快照保存数据极快、还原数据极快适用于灾难备份适

2021-03-16 10:20:38 66

原创 Redis配置文件

redis.conf配置文件1.1、Redis默认不是以守护进程的方式,可以通过该配置项修改,使用yes启用守护进程daemonize yes #是否以后台进程运行1.2、当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定pidfile /var/run/redis/redis-server.pid #pid文件位置1.3、指定Redis监听端口,默认端口为6379,为什么用6379作为默认端口,因为6379在

2021-03-12 16:31:18 327

原创 List的remove方法

1、实际项目书写中,踩了一个List.remove()的坑,再次记录一下for(int i=0;i<list.size();i++) { if(list.get(i)%2!=0) { list.remove(i); }}总结:上面这段代码看起来没有问题,但是实际上remove()方法删除某个元素后,后面的元素都往前移动了一位,而你的索引+1,所以实际访问的元素相对于删除的元素中间间隔了一位。【比如list.remove(0)之后,执行i++,那么此时的i变为1,下次的遍历会导致list

2021-03-11 10:42:21 1737

原创 Redis事务

1、事务的特性1.1、概念:在Redis中,事务的本质是一组命令的集合,一个事务中所有的命令都会被序列化,在事务执行过程中,会按照顺序串行执行队列的命令,而且不会被其他的命令插入。1.2、从概念中可以做出如下总结:一次性顺序性排他性1.3、Redis事务没有隔离级别(这是与关系型数据库不同的地方)​ 批量操作在发送 EXEC 命令前被放入队列缓存,并不会被实际执行,也就不存在事务内的查询要看到事务里的更新,事务外查询不能看到。所有命令在事务中,并没有直接执行,只有发起执行命令的时

2021-03-11 10:22:08 51

原创 Redis的基本数据类型

1、标题Redis支持五种数据类型:String(字符串)、hash(哈希)、list(列表)、set(集合)、以及zset(sorted set:有序集合)1.1、StringString是redis最基本的类型,一个key对应一个value。String类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象。String类型是Redis最基本的数据类型,一个键最大能存储512MB。二进制安全是指,在传输数据时,保证二进制数据的信息安全,也就是不被篡改

2021-03-09 14:32:16 107

原创 Mybatis的基础

1、Mybatis的mapper文件说明<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">mybatis-3-mapper.dtd为Mybatis的约束文件2、 Java代码执行Sql(Mybatis框架的初始状态【为简化】) //访问mybatis去读取数据 //1.定义mybatis的主配置

2021-03-08 13:58:45 112 1

原创 Mybatis中#与$的区别

1、显示不同1、 #{}(占位符)的取值方式会将传入的数据以字符串的形式接收并且替换成?,然后调用PreparedStatement来进行赋值)2、${}(拼接符)的取值是直接将传入的数据拼接在sql上(将传入的值替换${})#{}select * from table where name = #{name}编译之后转换为select * from table where name =?${}select * from table where name = ${name}编译之后转换

2021-03-05 15:16:45 103

原创 Linux的grep命令

1、 概念Linux中的grep命令是一个文本搜索的工具,全称为(Global Regular Expression Print),表示全局正则表达式,他的使用权限是所有用户。衍生命令有egrep、fgrep2、 常用命令参数 -i : 忽略大小写 (ignore case) -v : 倒叙(invert), 打印未匹配的内容 -n : 显示行号 -r : 按照递归进行查找 -c : 显示多少行被匹配到了,打印的是行数。 -cv并用则表示多少行未被匹配 -A n : 显示匹配到的字符串所

2021-03-02 11:43:32 129

原创 数据结构基本排序-Java

1、二分法public class binarySeach_1 { public static int recursionBinarySearch(int[] arr,int key,int low,int high) { //入口函数判断 if (key<arr[low]||key>arr[high]||low>high){ return -1; } int mid=(low+high)/

2021-03-02 09:39:13 51

原创 HashMap的实现原理

2.1、HashMap的底层实现原理?以jdk7为例说明:HashMap map = new HashMap();在实例化以后,底层创建了长度是16的一位数组Entry tablemap.put(key1,value1);首先调用key1所在类的==hashCode()==计算key1哈希值,此哈希值经过某种算法计算以后,得到在Entry数组中的存放位置。如果此存放位置的数据为空,此时的key1-value1添加成功。---------情况1如果此存放位置上的数据不为空,(意

2021-02-26 10:39:39 151 1

原创 Mysql的日期格式化

格式化Mysql日期Mysql可格式化的例子%a 缩写星期名 %b 缩写月名 %c 月,数值 %D 带有英文前缀的月中的天 %d 月的天,数值(00-31) %e 月的天,数值(0-31) %f 微秒 %H 小时 (00-23) %h 小时 (01-12) %I 小时 (01-12) %i 分钟,数值(00-59) %j 年的天 (001-366) %k 小时 (0-23) %l 小时 (1-12) %M 月名 %m 月,数值(00-12)

2021-02-26 10:27:23 636

原创 SpringMVC的执行流程

SpringMVC的执行流程:(网上版本不一,但是主要思想是一样的)用户发送Request请求,由前端控制器DispatcherServlet拦截。DispatcherServlet收到请求,调用处理器映射器HandlerMapping。处理器映射器根据请求URL找到具体的处理器,并且返回执行链HandlerExecutionChain(包括处理器对象和处理器拦截器)一并返回给DispatcherServlet。DispatcherServlet根据返回的Handler去请求处理器适配器Hand.

2021-02-25 19:16:12 75

原创 Mysql索引

7、索引概念:索引index是帮助MYSQL高效获取数据的数据结构。索引是数据结构(树) MYSQL里的索引是B+树索引类似于书的目录SQL优化的原因:性能低,执行时间长,等待时间长,sql语句欠佳(连接查询)、索引失效、服务器参数设置不周SQL编写过程:select .. from .. join ... on ..where ..group by ... having...order by...limit..解析过程先解析 from.... on .. join...where .

2021-02-25 10:20:33 71

原创 git基于现有分支进行创建新分支开发

备份分支切换到你想要基于的分支下,使用git命令进行分支创建git checkout -b newCreateBranchName推送到远程仓库即可git push origin newCreateBranchName

2021-02-25 10:17:26 2883

原创 锁的机制

13、锁机制解决资源共享而造成的并发问题13.1、悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。13.2、乐观锁总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新

2021-02-22 09:52:36 94

原创 RabbitMQ的死信队列

1、死信队列1.1、DeadLetter: 是RabbitMQ中的一种消息机制出现死信消息的可能情况如下消息被否定确认,channel.basicNack 或 channel.basicReject, requeue=false消息在队列的存活时间超过设置的TTL时间消息队列的消息总数已经超过最大的队列长度1.2、 Dead Letter Pattern 死信模式当消费者不能处理接收到的消息时候, 将这个消息重新发布到另一个队列中,这个过程中的Exchange称为死信交换机(D

2021-02-22 09:49:32 97

空空如也

空空如也

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

TA关注的人

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