摘要:
1. 在springboot中,spring.jpa.open-in-view值是默认开启的 2. 开启open-in-view的意义: 在事务外也可以访问懒加载的数据 hibernate 允许对关联对象、属性进行延迟加载,但是必须保证延迟加载的操作限于同一个 Hibernate Session 范 阅读全文
摘要:
2-3-4 树 1. 2-3-4树的定义 2-3-4树是一种阶为4的B树。它是一种自平衡的数据结构,可以保证在O(lgn)的时间内完成查找、插入和删除操作。它主要满足以下性质: (1)每个节点每个节点有1、2或3个key,分别称为2(孩子)节点,3(孩子)节点,4(孩子)节点。 (2)所有叶子节点到 阅读全文
摘要:
本地数据库使用service mysqld start/stop/restart都没有问题, 但是线上数据库该命令无效, 不是自己安装, 不知道具体的安装方式 所以使用如下方式: 1.停止 mysqladmin -uatarik -p123456 shutdown 2.启动 which mysqld 阅读全文
摘要:
查看使用的配置文件 mysql --help|grep 'my.cnf' 输出/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf 是按优先级顺序, 依次使用如上配置文件 如果配置文件中的内容如下 !includedir /etc/mysql/conf.d/ !includ 阅读全文
摘要:
1. “spring.mvc.static-path-pattern” spring.mvc.static-path-pattern代表的含义是我们应该以什么样的路径来访问静态资源,换句话说,只有静态资源满足什么样的匹配条件,Spring Boot才会处理静态资源请求,以官方配置为例: # 这表示只 阅读全文
摘要:
修改服务器端, 在/etc/vim/vimrc文件末尾加上 set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 set termencoding=utf-8 set encoding=utf-8 阅读全文
摘要:
原因: 数据库的链接默认的超时时间是8个小时,如果在8个小时里没有访问,那么这个连接就会被回收 如下配置tomcat连接池(log-data-server-yy工程中的配置) #tomcat连接池配置 spring.datasource.tomcat.initial-size=10 spring.d 阅读全文
摘要:
第一种:将HttpServletRequest作为Spring MVC 的方法参数,间接获取 先是获取到request,然后通过request间接的获取到session,代码如下: public void getSessionAction(HttpServletRequest request){ H 阅读全文
摘要:
sync(多次执行) sh -c 'echo 1 > /proc/sys/vm/drop_caches' sh -c 'echo 2 > /proc/sys/vm/drop_caches' sh -c 'echo 3 > /proc/sys/vm/drop_caches' 阅读全文
摘要:
一.Interceptor Interceptor是Spring拦截器,要实现一个拦截器功能可以继承Spring的HandlerInterceptor接口: package com.hpx.xiyou.wuKong.aop; import org.slf4j.Logger; import org.s 阅读全文
摘要:
方法一:配置AsyncUncaughtExceptionHandler(对于无返回值的方法) 通过AsyncConfigurer自定义线程池,以及异常处理。 @Configuration @EnableAsync public class SpringAsyncConfiguration imple 阅读全文
摘要:
@ControllerAdvice注解 + @ExceptionHandler注解 实现一个异常处理类,在类上应用@ControllerAdvice注解,并在异常处理方法上应用@ExceptionHandler注解。那么在web应用中,当Controller的@RequestMapping方法抛出指 阅读全文
摘要:
前2种方法都是在子线程中处理,第3种方法是在父线程中处理。 具体用哪一种方法,取决于这个异常是否适合在子线程中处理。例如有些异常更适合由调用方(父线程)处理,那么此时就应当用第3种方法。 方法一:子线程中try... catch... 最简单有效的办法,就是在子线程的执行方法中,把可能发生异常的地方 阅读全文
摘要:
一:前言: 最近支付后台登录一段时间后如果没有任何操作,总是需要重新登录才可以继续访问页面,出现这个问题的原因就是session超时,debug代码后发现session的超时时间是1800s。也就是说当1800秒内没有任何操作,session就会出现超时现象。那这个超时时间是如何设置的呢?然后该如何 阅读全文
摘要:
1.租户切换必须在事物开始前, 即在@transaction注解外切换租户 2.@async注解在同一个类中调用无效 3.同一个类中, 方法A有事务, 方法B无事务, 方法B调用方法A会导致事务失效 线程-> 租户切换 -> 开启事务(注意事务嵌套) 以上三个步骤最好在三个类中完成 参见 https 阅读全文
摘要:
1.只是用字符串的最左边n个字符建立索引,推荐n<=10;比如index left(address,8),但是需要知道前缀索引不能在order by中使用,也不能用在索引覆盖上。 2.对字符串使用hash方法将字符串转化为整数,address_key=hashToInt(address),对addr 阅读全文
摘要:
hash索引 优点:速度快 缺点:只能进行等值查询,不能进行范围检索,不能进行排序,不能利用 部分索引键查询 B+树索引 优点:可以进行范围查询,支持最左前缀查询 缺点:由于是多级索引速度相对慢些 阅读全文
摘要:
解决: 在 Entity中加入 implements Serializable 原因; Hibernate 有二级缓存, 缓存会将对象写进硬盘。就必须序列化。以及兼容对象在网络钟的传输 阅读全文
摘要:
查看全局变量 SHOW GLOBAL VARIABLES; 查看当前会话下的外键约束 SELECT @@FOREIGN_KEY_CHECKS; 禁用当前会话下外键约束 SET FOREIGN_KEY_CHECKS=0; 启动当前会话下外键约束 SET FOREIGN_KEY_CHECKS=1; 启用 阅读全文
摘要:
1、可能是/usr/local/mysql/data/mysql.pid文件没有写的权限 解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld! 2、可能进程里 阅读全文
摘要:
vim /etc/my.cnf 在[mysqld]下添加 default-storage-engine=INNODB character-set-server=utf8 collation-server=utf8_general_ci 重启mysql 设置字符集的目的, 使用mysqladmin命令 阅读全文
摘要:
shell 错误输出重定向到标准输出 ./tmp/test.sh > /tmp/test.log 2>&1 >和<是文件重定向符。那么1和2是什么? shell中每个进程都和三个系统文件相关联 标准输入stdin 标准输出stdout 标准错误stderr 三个系统文件的文件描述符分别为0,1和2。 阅读全文
摘要:
1.同步对比工具--workbench 首先选择模板数据库生成model, 然后选择database->synchronize with any source..->选择模板数据源(source)->选择要同步的数据源(target)->选择要同步的数据库,点击override target, 一直 阅读全文
摘要:
虽然Around功能强大,但通常需要在线程安全的环境下使用。因此,如果使用普通的Before、AfterReturing增强方法就可以解决的事情,就没有必要使用Around增强处理了。 Proceedingjoinpoint 继承了 JoinPoint 。是在JoinPoint的基础上暴露出 pro 阅读全文
摘要:
sql脚本中,存在VISIBLE 导致sql无法自行 这是因为 VISIBLE 适用于 mysql 8.0版本,不适用低于8.0版本的mysql MySQL Workbench 同步Model时 会生成带有 VISIBLE的sql 导致同步5.7等版本的mysql失败 在Preference --> 阅读全文
摘要:
POST请求@RequestParam: ① 用来处理(前端)Content-Type: 为 application/x-www-form-urlencoded或者form-data编码的内容 ② 该注解有两个属性: value、required; value用来指定要传入值的id名称,requir 阅读全文
摘要:
选择优化的数据类型 MySQL支持的数据类型非常多, 选择正确的数据类型对于获得高性能至关重要。 更小的通常更好 更小的数据类型通常更快, 因为它们占用更少的磁盘、 内存和CPU缓存, 并且处理时需要的CPU周期也更少。 简单就好 简单数据类型的操作通常需要更少的CPU周期。 例如, 整型比字符操作 阅读全文
摘要:
information_shcema下的三张表(通过这三张表可以更新监控当前事物并且分析存在的锁问题) —— innodb_trx (打印innodb内核中的当前活跃事务) —— innodb_locks ( 打印当前状态产生的innodb锁 仅在有锁等待时打印) —— innodb_lock_wa 阅读全文
摘要:
一. 创建用户 命令: CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明: username:你将创建的用户名host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以 阅读全文
摘要:
原文: https://www.itcodemonkey.com/article/11317.html 外键约束是一种约束,这个约束的存在,会保证表间数据的关系“始终完整”。因此,外键约束的存在,并非全然没有优点。 比如使用外键,可以 保证数据的完整性和一致性 级联操作方便 将数据完整性判断托付给了 阅读全文
摘要:
安装ssh apt-get install openssh-server 启动 service sshd start 停止 service sshd stop 修改配置文件 /etc/ssh/sshd_config PasswordAuthentication yes PermitRootLogin 阅读全文
摘要:
1.mysql 可以执行sql文本(ddl,dml) 2.mysqladmin 用于管理MySQL服务器的客户端, 可以用它来检查服务器的配置和当前的状态,创建并删除数据 库等等 mysqladmin status命令的结果显示下面的值: · Uptime MySQL服务器已经运行的秒数。 · Th 阅读全文
摘要:
持续读意味着InnoDB使用它的多版本化来给一个查询展示某个时间点处数据库的快照。查询看到在那个时间点 之前被提交的那些确切事务做的更改,并且没有其后的事务或未提交事务做的改变。这个规则的例外是,查询 看到发布该查询的事务本身所做的改变。 如果你运行在默认的REPEATABLE READ隔离级别,则 阅读全文
摘要:
1.username和password被获得后封装到一个UsernamePasswordAuthenticationToken(Authentication接口的实例)的实例中 2.这个token被传递给AuthenticationManager进行验证 3.成功认证后AuthenticationM 阅读全文
摘要:
http://www.tianshouzhi.com/api/tutorials/spring_security_4/262 springsecurity5.0 官翻 https://blog.csdn.net/hchhan/article/details/80668470 阅读全文
摘要:
一, 首先找到两个数据库间的差异sql 根据navicat的结构同步, 生成执行sql脚本, 但是该脚本的初始语句取消外键限制无效, 所以需要对生成的脚本文件修改 将所有的ALTER TABLE `warehouse_inventory_log` DROP INDEX `fk_purchecell_ 阅读全文
摘要:
第一范式 第一范式:所有属性都是不可分割的原子值。 也就是每个属性都是不可再分的。 例如下图就不符合第一范式的要求 实际上,1NF是所有关系型数据库的最基本要求,你在关系型数据库管理系统(RDBMS),例如SQL Server,Oracle,MySQL中创建数据表的时候,如果数据表的设计不符合这个最 阅读全文
摘要:
Map<Integer, String> map = list.stream().collect(Collectors.toMap(Person::getId, Person::getName)); 然后list里面有id相同的对象,结果转map的时候居然直接抛异常 如果不想抛异常的话,自己传进去一 阅读全文
摘要:
1. 消费端使用的序列化工具必须和发布端一致 2. spring提供了两个Message类, 一个是spring.messaging.message, 一个是spring.amqp.core.message, 两者都能做消息接收使用 3. springboot默认实例化的生产端实例化CachingC 阅读全文
摘要:
消费端的两种处理机制: 两种机制的区别, 第一种是在消费端出现异常, 系统执行的, 如果多次重试失败, 则可以抛出指定异常拒绝该消息(等同与reject)或者将消息发送到指定队列; 第二种ack机制必须要内部catch住消费者的异常, 手动的进行ack或者nack给rabbitmq , 然后rabb 阅读全文