- 博客(42)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 一种使用MySQL数据库悲观锁的IDEA
在上面的事务中,每个人想要获取最大code前都需要先拿到锁,想拿到锁要么从来没人持有锁,要么其他人结束事务释放锁,当第一个人结束事务后,最大code加1了,因为是读已提交的隔离级别,第二个人不再阻塞得到A表的锁,可以获取最大code,也就不会出现重复数据问题,但是如果时可重复的的事务隔离级别,其他事务读取到的是之前的快照数据,导致即使阻塞了也拿不到最新值。但是这种查询最大code的场景在并发场景下会出现查询出相同code的情况,导致新插入的数据中code值发生重复的现象。3. 查询最大code。
2024-03-06 15:41:41 215
原创 一句话讲清楚数据库中事务的隔离级别(通俗易懂版)
3. 可重复读(mysql默认的隔离级别): 可以理解为当一个事务开始时, 对整个数据库进行了一次快照,你接下来的所有查询都只能查询到快照中的数据,即使可能这个数据已经被其他事务修改了一千次一万次你也不会知道,插入或者删除多少数据也同理与你本次事务无关。2. 读已提交(oracle和sqlServer默认的隔离级别): 就是在一个事务中, 不能查询到其他事务中执行了update却没有执行commit语句的数据了,但是commit后,就能查询到了,这个级别解决了脏读的问题。为什么我只说通俗易懂版不说严谨版?
2024-03-03 02:01:22 355
原创 今天继续卷前端 vue中的插槽slot
1. 子组件的模板代码中定义<slot>标签, 相当于定义了个槽(埋了个坑), 坑里可以什么都没有, 也可以先放点内容, 如果 如果父组件不往槽里插东西, 就显示默认的内容, 如果插入内容, 就会覆盖默认内容。2. 父组件引入子组件后, 在模板代码中定义 以子组件名称的 <标签> (这一步就是定位到槽的位置了), 然后在标签内写任何代码, 就相当于往子组件的槽中写入内容了。props是父组件往子组件中传值, 子组件中获得值后在模板中使用。而slot是父组件往子组件中传入模板代码。
2023-08-31 16:46:35 117
原创 vue Mixins 学习感悟
此时组件中就可以随意使用这个混入的内容了, 且即使此组件运行过程中修改了混入的数据, 对源头也没有任何影响(对其他组件混入的此数据没有影响)就是vue组件中的<script>标签中的内容完全抽离到一个独立的js文件中, 然后 给他们命一个名,这样在组件中 先import引入, 然后在 mixins: 写上这个名字。看了一下大佬的博客, 对vue的Mixins有了些许理解。Mixins 名为 "混入" 其实就是啥呢?
2023-08-30 09:23:47 111
原创 了解vue props
组件“child”中如果在<script>中定义了props, 必然会被该组件中的<template>中所使用, 你在组件“father”中引用child组件后, father的<template>中使用该子组件就必须传入props中定义的所对应的属性名。太tmd卷了, 黄岛垃圾啊, 一个个老破小公司只要全栈, 没办法生活所迫, 只能来卷了, 自学vue, 前面都简单易懂, 但是官方文档看到组件的props就有点儿云里雾里了(我觉得是他们文档写的不够接地气儿)这么一说 是不是就真相大白了!
2023-08-29 17:34:38 106
原创 启动nacos报错
the length of secret key must great than or equal 32 bytes; And the secret key must be encoded by base64.Please see https://nacos.io/zh-cn/docs/v2/guide/user/auth.html
2023-03-05 12:33:50 2223
原创 PageHelper 框架 中的坑
当查询中带关联查询(一对多的关系)时如: 一个用户有多个角色分页就会失效通过查看打印在控制台的SQL可以看出来, 其实是简单的在SQL最后面加上了 limit 语句导致实际查询出来的并不只是主表(用户)的数据, 而是所有(用户加角色)的所有数据...
2022-06-17 15:38:17 107
原创 命令行 连接 mysql
mysql -h主机地址 -P端口号-u账号 -p密码例如:mysql -h127.0.0.1 -P3306 -uroot -proot导出命令mysqldump-h主机地址 -P端口号-u账号 -p密码 数据库名--set-gtid-purged=off > 随便起名.sql
2021-08-18 16:08:18 110
原创 mybatis 框架 的mapper.xml文件中 条件表达式
深坑啊, 被训了,哎mybatis 框架的mapper.xml文件中 条件表达式 <if test=" xxxxxxx !='' "></if>上面的xxxxxxx 如果是boolean类型, 相当于 布尔类型与字符串类型做比较 , 会永远为false, 所以如果是布尔类型, 千万不要这么写 顶多写 != null...
2021-03-25 17:54:20 931
原创 在导出数据库sql的时候报错没有授权 The user specified as a definer (‘root‘@‘%‘) does not exist when using LOCK
第一步:CREATE USER 'root'@'%' IDENTIFIED BY 'root';如果提示已经有此用户了, 就删了重新建drop user'root'@'%';第二步:grant all privileges on *.* to 'root'@'%';
2021-02-20 18:26:32 1027
原创 2020-11-06 IDEA 非法字符 \ufeff
IDEA 每次创建一个新的文件编译都不通过报错: 非法字符 \ufeff ?硕大的网络全是告诉你点击idea右下角的这里:切换到gbk 再切换回UTF-8 ?确实 如此操作这后不会报错了, 编译通过了但是治标不治本, 下次新建文件需要如此反复恭喜你同志, 你看到这篇博文, 有的救了只需要如下操作, 完美解决问题...
2020-11-06 14:52:25 262
原创 2020-09-23 开发小习惯
用 Steam 作为入参和返回的数据类型用LocalDateTime 代替 Date用DateTimeFormatter代替SimpleDateFormat
2020-09-23 15:54:58 91
原创 idea 的database 视图 链接MySQL 报错时区问题
如图解决方法:1.在图中找到Advanced 点击2 在里面找到 属性: serverTimeZone3 修改其值为:Asia/Shanghai最后保存测试连接 成功
2020-06-29 11:16:21 324
原创 配置mysql
解压mysql包之后,在其根目录创建my.ini文件,在其中配置连接mysql参数检查根目录下有没有DATA文件夹,如果有,删掉进入它的bin目录以管理员打开命令行执行命令:初始化:mysqld --initialize --console会在控制台打印出自动生成的密码,注意copy下来后面第一次连接mysql用到安装mysql服务:mysqld --install计算机服务里面会出现mysql启动mysql服务(最后面的mysql是服务名,怎么改服务名我不懂):net
2020-06-23 17:26:24 199
原创 mysql 使用命令行进行导入与导出SQL文件
有两种方法1:网上普遍存在的mysql -u root - prootuse dbsource xxx.sql第二种:一句话搞定mysql -uroot -proot db < xxx.sql实测第二种导入更快一些
2020-05-29 11:15:45 185
原创 命令行打Jar包
进入项目的根目录,如果项目使用的是gradle 构造的会有一个文件名为gradlew打开命令行执行命令./gradlew build -x -test就会在项目的build/libs目录下生成Jar包...
2020-04-30 10:48:34 288
原创 centos mysql 无法插入/创建表 字段 date类型 '0000-00-00'
这是由于MySQL的配置文件阻止了date类型字段值 为'0000-00-00' 无法插入分析:登录MySQL后,通过命令:select @@sql_mode;查看当前的SQL-MODE配置我的如图:就是图中的NO_ZERO_IN_DATE,NO_ZERO_DATE这两条配置阻止了插入'0000-00-00'的date类型数据,我们要做的就是删掉这两条...
2020-04-29 20:46:19 695
原创 IDEA 的部分技巧
问题:build view 报错信息乱码方案:点击导航栏:Help -- Edit Custom VM Options 在 打开的窗口最底部编辑:-Dfile.encoding=UTF-8常用快捷键:Shift + Shift 查询所有【文件】Ctrl + Shift + F (必须在英文状态下 该快捷键 才 有效) 查询所有文件 中 的代码Ctrl ...
2020-04-24 11:34:48 158
原创 困扰我一万年 前台传Json数组 control层如何获取
JSvar a = [{id:1},{name:张三},{id:2},{name:李四}];a = JSON.stringfiy(a);Control层String a = request.getParameter("a"); // a = [{id:1},{name:张三},{id:2},{name:李四}]List<XXX> lis...
2020-04-15 17:46:51 201
转载 转载 Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.ArrayList and java.lang
https://www.cnblogs.com/companionspace/p/10419466.html翻译过来就是原因:java.lang.IllegalArgumentException:无效比较:java.util.ArrayList和java.lang.String这个情况在list集合查找数据的sql中出的问题,在接受list的时候加了判断 list!...
2020-04-07 16:47:02 382
原创 在Centos6中安装MySQL
检查系统是否已经安装其他版本MySQL# yum list installed | grep mysql如果有就删除掉(xxx是文件名)#yum -y remove xxxxxx下载MySQL源安装包# wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm安装MySQL源# yum ins...
2019-11-21 12:14:09 170
原创 springboot 拦截静态资源
因为要使用jquery 将jQuery.js拷进资源目录中后,前台页面引入,运行项目,加载页面发现这种静态资源被拦截了查阅其他大佬的资料,发现需要1.在application.yml中配置静态资源访问的路径spring: resources: static-locations : /static/2.使用SpringBoot推荐的对SpringMVC拓展方法...
2019-11-13 10:58:10 427
原创 记录一下第一次项目部署到服务器
首先用华为云注册一个账号可以免费获得15天的服务器(需要实人认证)https://console.huaweicloud.com获得服务器之后修改安全组,入方向和出方向都一键放通使用vnc登录,第一次需要重置密码,重置密码之后ctrl+alt+del重启一下这样就可以登录上了,添加一个密钥对,使用xshell使用刚才下载好的密钥文件进行远程连接该服务器登陆上服务器,使用...
2019-10-28 14:22:57 229
原创 Flutter 配置路由固定格式
import 'package:flutter/material.dart';import '../命名路由/pages/Search.dart';import '../pages/Tabs.dart';//配置路由final routes={// 配置根路由 '/' : (context,{arguments}) => A(),// 命名路由传值方...
2019-10-18 16:51:49 179
原创 Flutter 路由 传值
最近在学flutter 在学习到路由传值时遇到困难,特别整理一下普通路由无法传值命名路由传值的两种方式:第一种:1.定义routes:// 快捷键是fim f表示flutter i表示import m表示materialimport 'package:flutter/material.dart';import './pages/Tabs.dart';impor...
2019-10-18 11:40:49 212
原创 flutter windows下环境配置
首先,下载flutter的sdk包然后配置环境变量这个填写flutter的sdk地址:path:xxx这个填写Android的sdk地址ANDROID_HOME:xxxwin+r cmd 进入命令行cd到你的flutter_sdk所在的路径,如:E:\flutter执行命令 flutter doctor 命令检测一下缺啥其中有一条日志是: An...
2019-10-17 22:24:49 143
原创 Flutter入门BUG 真机run卡在日志:Installing build/app/outputs/apk/app.apk
先上运行时日志:Launching lib\main.dart on ONEPLUS A5000 in debug mode...Initializing gradle...Resolving dependencies...Running Gradle task 'assembleDebug'...Built build\app\outputs\apk\debug\app-debug...
2019-10-12 17:31:08 2138
原创 VSCode常用快捷键
ctrl+S 保存ctrl+D 删除选定或者一整行ctrl+Z 撤销ctrl+C 复制选中ctrl+X 剪切选定或者一整行ctrl+V 粘贴TAB 缩进ctrl+[ 向后缩进选定行ctrl+] 向前缩进选定行ctrl+/ 行注释ctrl+alt+/ 块注释ctrl+F 查找ctrl+小键盘点 快速修复ctrl+...
2019-10-11 16:08:18 222
翻译 事务管理
一致性原子性持久性隔离性用法:一般都是自动提交的获取Connection conn之后conn.SetAutoCommit(false);//一大堆更新,删除,插入操作conn.commit();如果其中有任何错误,就在try catch(conn.rollback(););...
2019-07-16 19:19:53 76
翻译 数据库连接池dbcp
静态的 BasicDataSource bds=new BasicDataSource()设置必要的参数:bds.setDriverClassName(Driver);bds.setUrl(url);bdssetUsername(name);bds.setPassword(password);
2019-07-16 18:11:08 83
原创 SQL注入问题
用户在浏览器传递非法参数,如: ' or '1' = '1传递到后端解析SQL时就会形成恒等式如: select * from table where name=' ' or '1' = '1'这是由于使用 Statement s= conn.Statement(拼接的sql)如果使用PreparedStatement ,SQL写成name=?,在...
2019-07-16 17:53:27 118
原创 SSM框架开发Java web项目 ---- 基础项目详细记录
前言:ssm框架是目前比较流行,广泛使用的框架,所以我们需要学会如何食用它鉴于能力有限,小弟第一次搭建ssm框架,该博客可能会有很多不合理之处甚至一些错误,望指正!首先:上项目目录截图: 第一步:创建一个简单的Maven项目注:(专业术语不会,看不懂没关系,略过,反正会报错你也跳不过去)0.Packaging 选war1.Targeted Runtimes 选中你的...
2018-11-12 16:56:12 647
原创 SpringMVC初学之HelloWorld
SpringMVC是一个mvc框架,用来简化基于mvc架构的web应用开发五大组件:DispatcherServlet 控制器 处理请求 依据HandlerMapping的配置调用相应的模型处理HandlerMapping 请求路径与模型的对应关系Controller 负责处理业务逻辑ModelAndView ...
2018-11-08 17:27:04 141
原创 spring框架注解
@Component 通用注解,交由spring容器管理就在类上添加这个注解,并标注其id@Controller 控制层注解@Service 业务层注解@Repository 持久层注解@ResponseBody 可以返回参数@AutoWired/@Qualifier 处理各种注入方式(构造器和set注入) ...
2018-11-08 14:48:20 187
原创 spring框架特性:依赖注入(DI)与控制反转(IOC)----set方式注入/构造器方式注入/基本类型值注入/自动装配(autowire)/
如果说控制反转(ioc)是我们想要通过spring框架达到的目的,那么依赖注入(di)便是我们强有力的手段!以此来实现高内聚低耦合!这里有一个A类有什么方法可以让我们在不使用NEW的情况下创建出来该A类对象呢?见证奇迹的时刻到了一.我们创建一个Maven工程,二.导包spring-webmvc ,Junit三.创建一个B类,构建其无参构造器,在B类中创建一个方法b1()...
2018-11-07 23:32:27 286
MybatisGenerator
2018-11-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人