![](https://img-blog.csdnimg.cn/bca2a07c4cfb48ae9ed3d8d44c2e1548.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据库
文章平均质量分 78
数据库学习笔记
Gangbb
这个作者很懒,什么都没留下…
展开
-
Mybatis学习笔记--Mybatis动态SQL
文章目录1. 简介2. 搭建环境3. IF语句使用4. choose (when, otherwise)语句使用5. trim (where,set)语句使用6. SQL片段7. Foreach语句本文章涉及环境版本:mysql 5.7Mybatis 3.5.xMaven 3.6.xJDK 1.8项目代码仓库:https://github.com/Gang-bb/Study-Record/tree/main/bzhan-mybatis-study需要clone整个bzhan-原创 2021-02-09 19:39:24 · 120 阅读 · 0 评论 -
Mybatis学习笔记--Mybatis实现增删查改
文章目录1. select2. update3. Insert4. Delete5. Map传参5. 模糊查询本文章涉及环境版本:mysql 5.7Mybatis 3.5.xMaven 3.6.xJDK 1.81. select选择,查询语句;id : 就是对应的namespace中接口的方法名;resultType:Sql语句执行的返回值!parameterType : 参数类型!UserMapper接口中添加User selectUserById(int id原创 2021-02-08 23:53:52 · 166 阅读 · 0 评论 -
一文搞懂Mybatis Plus通用枚举功能使用
文章目录1. 配置文件添加配置2. 定义枚举2.1 方式一2.2 方式二2.3 方式三3. 定义实体类4.测试使用环境:<mybatis-plus.version>3.4.2</mybatis-plus.version><spring-boot.version>2.4.2</spring-boot.version>1. 配置文件添加配置主要介绍MP通用枚举,其他配置省略!# MP 配置mybatis-plus: # 配置type-enu原创 2021-11-20 00:02:39 · 4467 阅读 · 4 评论 -
Mybatis学习笔记--多对一关系处理
文章目录1. 测试环境搭建2. 实例测试本文章涉及环境版本:mysql 5.7Mybatis 3.5.xMaven 3.6.xJDK 1.8项目代码仓库:https://github.com/Gang-bb/Study-Record/tree/main/bzhan-mybatis-study需要clone整个bzhan-mybatis-study项目(整体是一个maven多module工程)该文章对应:《bzhan-mybatis-study06 》module项目1. 测试环原创 2021-02-09 18:51:48 · 75 阅读 · 0 评论 -
使用Mybatis-Plus 自动填充功能
文章目录1. 实现监听处理类2. 在相应字段上加@TableField注解3. 测试使用1. 实现监听处理类创建一个自己的CreateAndUpdateEntityHandler:一个实现MP中MetaObjectHandler接口的类,并且重载insertFill和updateFill方法,并在这两个方法中编写插入和更新操作时填充的字段和逻辑。package com.gangbb.core.config.mybatisplus;import com.baomidou.mybatisplus.co原创 2021-07-23 13:04:12 · 535 阅读 · 0 评论 -
Mybatis学习笔记--Mybatis缓存的使用
文章目录1. 简介2. Mybatis缓存3. 一级缓存4. 二级缓存5. 自定义缓存本文章涉及环境版本:mysql 5.7Mybatis 3.5.xMaven 3.6.xJDK 1.8项目代码仓库:https://github.com/Gang-bb/Study-Record/tree/main/bzhan-mybatis-study需要clone整个bzhan-mybatis-study项目(整体是一个maven多module工程)该文章对应:《bzhan-mybat原创 2021-02-09 19:44:26 · 517 阅读 · 0 评论 -
mysql时间相关处理
文章目录时间格式处理mysql中时间格式处理mybatis中使用注意与当前时间比较日期计算相关计算差值加减日期时间格式处理mysql中时间格式处理获取( %Y-%m-%d %H:%i:%s) 格式当前时间SELECT NOW()select current_timestampselect current_timestamp()获取( %Y-%m-%d) 格式当前时间SELECT CURRENT_DATE()获取当时时间戳(10位)select UNIX_TIMESTAMP原创 2021-08-19 10:23:33 · 251 阅读 · 0 评论 -
Mybatis学习笔记--配置文件常见配置解析
文章目录1. 核心配置文件2. 环境配置(environments)3. 属性(properties)4. 类型别名(typeAliases)5. 设置(settings)6. 其他配置7. 映射器(mappers)本文章涉及环境版本:mysql 5.7Mybatis 3.5.xMaven 3.6.xJDK 1.81. 核心配置文件配置文件官方推荐命名:mybatis-config.xml. 当然也可以自己命名。MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设原创 2021-02-08 23:57:44 · 216 阅读 · 0 评论 -
Mybatis学习笔记--Mybatis注解开发
文章目录1. 注解开发的简单使用2. 注解开发的增删查改本文章涉及环境版本:mysql 5.7Mybatis 3.5.xMaven 3.6.xJDK 1.81. 注解开发的简单使用UserMapper中@Select("select * from user")List<User> getUsers();mybatis-config.xml文件中对其声明<mappers> <mapper class="com.gangbb.model.d原创 2021-02-09 00:04:58 · 121 阅读 · 0 评论 -
Mybatis学习笔记--属性名和字段名不一致的问题
文章目录1. 问题描述2. 在sql中起别名解决3. Resultmap本文章涉及环境版本:mysql 5.7Mybatis 3.5.xMaven 3.6.xJDK 1.81. 问题描述数据库中的字段:实体类中的字段:@Data@NoArgsConstructor@AllArgsConstructorpublic class User { private Integer id; private String name; private String原创 2021-02-09 00:00:57 · 159 阅读 · 0 评论 -
Mybatis学习笔记--Mybatis概述和入门
文章目录1. Mybatis概述1.1 简介1.2 如何获得Mybatis1.3 持久化1.4 持久层1.5 为什么需要Mybatis1.6 Mybatis开发工作流程2 第一个Mybatis程序2.1 搭建环境2.2 创建一个模块2.3 编写代码2.4 测试本文章涉及环境版本:mysql 5.7Mybatis 3.5.xMaven 3.6.xJDK 1.81. Mybatis概述1.1 简介MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。M原创 2021-02-05 23:11:28 · 1083 阅读 · 1 评论 -
SpingBoot 中 Mybatis-Plus 使用 通用枚举功能
文章目录1. 配置文件添加配置2. 定义枚举2.1 方式一2.2 方式二2.3 方式三3. 定义实体类4.测试使用1. 配置文件添加配置# MP 配置mybatis-plus: type-enums-package: com.baomidou.mybatisplus.samples.enums.enums configuration: # 3.0.8之前版本问题默认将枚举注册为EnumOrdinalTypeHandler,这是错误的方式,默认是 org.apache.ibatis.t原创 2021-07-22 23:45:47 · 1207 阅读 · 0 评论 -
Mybatis学习笔记--实现分页
文章目录1. limit分页2. RowBounds分页3. 分页插件--Mybatis-pagehelper本文章涉及环境版本:mysql 5.7Mybatis 3.5.xMaven 3.6.xJDK 1.8思考:为什么要分页?减少数据的处理量1. limit分页语法:SELECT * from user limit startIndex,pageSize;mybatis代码实现:UserMapper接口中添加List<User> getUserLis原创 2021-02-09 00:03:12 · 137 阅读 · 0 评论 -
Mybatis学习笔记--一对多关系的处理
文章目录1. 测试环境搭建2. 实例测试本文章涉及环境版本:mysql 5.7Mybatis 3.5.xMaven 3.6.xJDK 1.8项目代码仓库:https://github.com/Gang-bb/Study-Record/tree/main/bzhan-mybatis-study需要clone整个bzhan-mybatis-study项目(整体是一个maven多module工程)该文章对应:《bzhan-mybatis-study06 》module项目1. 测试环原创 2021-02-09 18:54:00 · 131 阅读 · 0 评论 -
详解Mybatis Plus自动填充功能使用
文章目录1. 实现监听处理类2. 在相应字段上加@TableField注解3. 存在bug1. 实现监听处理类创建一个自己的CreateAndUpdateEntityHandler:一个实现MP中MetaObjectHandler接口的类,并且重载insertFill和updateFill方法,并在这两个方法中编写插入和更新操作时填充的字段和逻辑。package com.gangbb.core.config.mybatisplus;import com.baomidou.mybatisplus.c原创 2021-11-26 22:45:17 · 456 阅读 · 0 评论 -
Mybatis/MybatisPlus大批量插入操作优化(绝对有用)
文章目录优化一:JDBC连接URL字符串中需要新增一个参数:rewriteBatchedStatements=true优化二:使用并行流parallelStream优化一:JDBC连接URL字符串中需要新增一个参数:rewriteBatchedStatements=truejdbc链接加上:rewriteBatchedStatements=trueurl: jdbc:mysql://ip:端口/数据库名?useUnicode=true&characterEncoding=utf8&ze原创 2021-11-27 22:21:15 · 7978 阅读 · 0 评论 -
Redis学习笔记--Redis基本知识
文章目录1. 数据库数2. 一些基本命令3. Redis是单线程的1. 数据库数默认是16个数据库,默认使用的是第一个。2. 一些基本命令命令官网查询:http://www.redis.cn/commands.html命令行连接redis。Linux的redis/src目录下执行[root@LYX src]# redis-cli测试性能:(100个并发客户端 每秒100000请求)redis-benchmark -h localhost -p 6379 -c 100 -n 1原创 2021-02-04 23:26:08 · 156 阅读 · 0 评论 -
Redis学习笔记--Redis五种基本数据数据类型
文章目录1. Redis-Key2. Redis-List3. Redis-Set4. Redis-hash(哈希)5. Redis-ZsetRedis 版本 6.0+1. Redis-Key============移动key=============EXIST key #判断key是否存在move key 1 #移动key到别的数据库(后面的数字是数据库名)============设置过期时间=============expire key 100 #设置key的过期时间原创 2021-02-04 23:29:13 · 166 阅读 · 0 评论 -
Redis学习笔记--Redis三种特殊数据类型
文章目录1. Geospatial地理位置2. Hyperloglog基数统计3. BitmapsRedis 版本 6.0+1. Geospatial地理位置朋友的定位,附近的人,打车距离计算?Redis的Geospatial在Redis的3.2版本推出。这个功能可以推算出地理位置信息,两地之间的距离,方圆几里的人!使用工具:经纬度在线查询只有6个命令:geoadd添加地理位置:规则:南北两极无法添加,用此功能,一般会下载城市数据,直接通过java程序一次性导入!#geoa原创 2021-02-04 23:31:36 · 189 阅读 · 0 评论 -
Redis学习笔记--使用Jedis
文章目录1.1 测试key2. 测试List3. 测试Set4. 测试Hash5. 测试String6. 测试密码连接7. Jedis中的事务Redis 版本 6.0+创建maven项目导入依赖<dependencies> <!--引入Jedis依赖--> <dependency> <groupId>redis.clients</groupId> <artifactId>je原创 2021-02-04 23:37:40 · 149 阅读 · 0 评论 -
Redis学习笔记--Redis中的事务
文章目录1. 事务简介2. 事务示例3. 监控 Watch(面试常问)3.1 悲观锁和乐观锁3.2 监控示例Redis 版本 6.0+1. 事务简介Redis单条命令保存原子性的,但是事务不保证原子性!Redis事务没有隔离级别的概念所有命令在事务中,并灭有直接执行!只有发起事务执行命令的时候才会被执行!Redis事务的本质:一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行。(Exec命令)一次性、顺序性、排他性!执行一系列命令-----------原创 2021-02-04 23:34:24 · 299 阅读 · 1 评论 -
Mysql高级(周阳)笔记之查询优化(完整详细)
目录1. 一般优化流程2. 永远小表驱动大表3. Order by排序优化3.1 建表SQL3.2 分析3.3 filesort的两种算法3.3.1 双路排序3.3.2 单路排序3.4 Order by 总结4. Group by优化5. 分页查询的优化---limit6. 去重优化Mysql 版本5.51. 一般优化流程2. 永远小表驱动大表例:3. Order by排序优化ORDER BY子句,尽量使用Index方式排序,避免使用FileSort方式排序3.1 建表SQ原创 2021-01-28 15:24:11 · 656 阅读 · 0 评论 -
Mysql高级(周阳)笔记之数据库锁(完整详细)
1.概述1.1 定义锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。1.2 示例 1.3 锁的分类从对数据操作的类型(读\写)分:读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影原创 2021-01-28 15:19:06 · 1449 阅读 · 0 评论 -
Mysql高级(周阳)笔记之查询截取分析(完整详细)
目录1. 慢查询日志1.1 含义1.2 使用1.2.1 查看是否开启和开启1.3 慢查询日志内容1.4 记录慢查询并后续分析1.5 查询当前系统中有多少条慢查询记录1.6 慢查询日志配置版1.7 日志分析工具mysqldumpslow2. 批量插入数据脚本2.1 建表sql2.2 设置参数log_bin_trust_function_creators2.3 创建函数,保证每天数据都不同2.3.1 随机产生字符串2.3.2 随机产生部门编号2.4 创建存储过程2.4.1 创建往emp表中插入数据的存储过程2.原创 2021-01-28 15:16:13 · 527 阅读 · 0 评论 -
Mysql高级(周阳)笔记之索引优化(完整详细,包含sql)
目录1. 索引单表优化1.1 建表SQL1.2 案例2.索引双表优化2.1 建表SQL2.2 案例一: LEFT JOIN2.3案例二:RIGHT JOIN2.4 其他3. 索引三表优化3.1 建表sql3.2 案例4. Join语句优化5.其他优化5.1 建表SQL5.2 全值匹配很OK5.3不要在索引列上做任何操作(计算、函数、(自动or手动)类型转换),会导致索引失效而转向全表扫描5.4 范围之后全失效5.5 尽量使用覆盖索引(只访问索引的查询(索引列和查询列一致)),减少select *5.6 m原创 2021-01-25 19:39:33 · 1350 阅读 · 0 评论 -
Mysql高级(周阳)笔记之explain的使用(超详细)
目录1. explain的介绍1.1 简介1.2 explain的作用1.3 explain如何使用2. explain的执行计划中各字段分析2.1 id2.2 select_type 和 table2.2.1 select_type 含义2.2.2 select_type 分类2.2.3 table 含义2.3 type2.3.1 type含义2.3.2 type分类2.4 possible_keys2.5 key2.6 key_len2.6.1 key_len含义2.6.2 key_len的计算2.7原创 2021-01-25 19:19:11 · 581 阅读 · 0 评论 -
复习sql
有强迫症,发现sql有一点记不清的地方就想全盘再复习一遍!参考教程:菜鸟教程-SQL教程SQL简介SQL语法用来练习的表SQL SELECT 语句SQL SELECT DISTINCT 语句SELECT DISTINCT 语句用于返回唯一不同的值SQL WHERE 子句WHERE 子句用于过滤记录。SQL AND & OR 运算符AND &am...原创 2020-03-01 14:42:25 · 270 阅读 · 0 评论