数据库
文章平均质量分 73
@大吉
爱好总结和记录,兴趣驱动的终身学习者
展开
-
【MySQL】多表连接更新(update),使用临时表加快效率
写一个update语句,需要关联多个表。上面这个SQL,在一个update里面连接了3个inner join。那么你会发现执行速度慢的出奇。原创 2022-08-14 15:34:10 · 10543 阅读 · 0 评论 -
Redis远程连接Linux云服务器(Jedis方式或Springboot方式)
文章目录需求远程服务器端1. 连接到远端,打开redis.conf2.修改redis.conf的配置3.重启redis服务4.打开客户端,输入密码验证5.配置防火墙/安全组Jedis方式连接到远程服务器Springboot方式连接到远程服务器需求之前只会在Windows环境下使用 Redis,现在想在本地环境下写代码,连接到远程服务器(笔者使用阿里云)上面的Redis。远程服务器端1. 连接到远端,打开redis.conf首先使用Xshell或SecureCRT连接到你的远程服务器,然后cd到你的原创 2020-12-17 23:53:13 · 766 阅读 · 0 评论 -
SQL语句 ORDER BY 多条件排序优先级(嵌套if语句)
需求需求是,先根据A字段排序,排好序后得到一系列结果。然后再根据得到的结果根据B字段排序,得到最终结果。按照这样排好序的顺序是这样的:把符合条件的单独几行,可以放在查询结果的开始,或者查询结果的尾部。举个例子:现在有一张博客表,我想先根据id排好序,然后再根据是否推荐(recommend字段为1就是推荐,0就是不推荐)排序。最后期望排序结果如下图所示:可以看到,两者都进行了排序,但是优先级是 recommend > id。SQL代码废话不多说直接上代码:SELECT b.`t原创 2020-12-07 21:16:00 · 5932 阅读 · 2 评论 -
SSM或SpringBoot上传图片到数据库
文章目录前言一、导入jar包及配置二、编写前端(testUploadFile.html)三、Controller层(FileUploadController)四、Service层(UserServiceImpl)五、运行Demo后记前言上传图片到数据库有两种方式:将图片保存的路径存储到数据库。该方式的数据库字段是varchar类型的,毕竟存放的是路径嘛将图片以二进制数据流的形式直接写入数据库字段中。这种方式一般不推荐,因为对数据库的性能损耗非常严重。所以本文采用第一种方式:将图原创 2020-12-03 22:36:50 · 2677 阅读 · 0 评论 -
【MyBatis】多对多条件下插入中间表(使用insert标签的属性)
文章目录需求解决方案测试编写Dao层Service层Test类需求我的数据库中有两张表,一张是Blog表,一张是Type表,分别代表了博客和博客类别,它们之间是多对多关系,它们由一张中间表blog_type维护。(简单起见,blog表只有两个数据,id和title。type表只有id和name)那么需求就是:现在我想插入一条Blog数据,因为blog和type是多对多关系,想插入其中一个数据,就得维护他们之间那个中间表blog_type的关系(插入中间表字段)。解决方案那么我能想到的解决方案原创 2020-11-23 23:58:48 · 2016 阅读 · 1 评论 -
【MyBatis】PageHelper无法处理多对多查询分页问题
文章目录前言一、子查询分页二、编写对应的mapper前言最近在使用PageHelper时,发现其无法正常对多对多查询出的结果集进行正确分页。原因其实在PageHelper官网写着了:那么解决该问题便会变得非常棘手,笔者选择的是用MyBatis的方式手动进行分页操作,正好也复习巩固一下SQL语句和多对多映射操作。一、子查询分页利用子查询分页可以在SQL层面上解决分页问题,剩下的都交给配置结果集映射(resultMap)来做。该思路是网上一篇大神的博客提供的:MyBatis一对多或多对多分页查询的原创 2020-11-21 10:07:03 · 1470 阅读 · 0 评论 -
【MyBatis-Debug】在SQL语句中为数据库字段取别名的重要性
问题描述:今天使用MyBatis的xml配置文件中进行多表查询时,遇到了一个问题:A实体类中的 B实体类字段 查询出错。首先A实体类(Blog类) 和B实体类(Type类)是多对多关系,它们由一个中间表(Blog_Type)维护Blog 实体类代码如下:public class Blog { private Long id; private String title; private List<Type> types;}Type 实体类代码如下:原创 2020-11-19 22:51:18 · 1915 阅读 · 0 评论 -
简单讲解MyBatis中的resultMap,collection,association
resultMap字段和association字段: <!--resultMap系列--> <resultMap id="blog" type="com.lubenwei.vo.BlogQuery"> <!--id就是主键的意思--> <id property="id" column="id"/> <!-- column指的是数据库的字段(很好理解,就是列嘛), property指的原创 2020-11-18 22:41:46 · 781 阅读 · 0 评论 -
狂神说MyBatis学习笔记: MyBatis中一对多和多对一处理
文章目录前言一、多对一关系的查询数据表:实体类:对应的mapper文件:方法一: 嵌套select查询(按照查询进行嵌套处理)方法二: 按照结果进行嵌套处理二、一对多关系的查询方式一:按照结果进行嵌套处理方式二:按照查询进行嵌套处理查询结果总结前言笔者在学习MyBatis课程中,听了很多慕课,最终发现还是狂神老师讲的最好。本篇是根据狂神老师的 狂神说MyBatis05:一对多和多对一处理学习完后的整理笔记,结合了狂神老师的讲解和自己的理解,旨在弄通这个知识点。如果本文中的一些基本概念不了解,比如r原创 2020-11-18 22:34:01 · 650 阅读 · 0 评论 -
【分页查询】在SSM环境中使用PageHelper
文章目录前言一、导入jar包二、使用步骤三、常用配置order by 啥意思总结前言本文只讨论SSM框架下PageHelper的使用,不讨论SpringBoot提供的starter方式。一、导入jar包<!--pagehelper--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>page原创 2020-11-17 10:23:43 · 2260 阅读 · 0 评论 -
【数据库】快速判断一对多,多对多关系,并建立数据库实体之间的映射
一对多关系举例:部门和员工的对应关系 :1. 正过来看,(“1”)一个部门里面可以有多个员工(“n”)2. 反过来看一一对应:而一个员工只能对应一个部门由于满足上面两条, 所以一对多关系成立, 部门是1 员工是n策略: 在多的一方添加外键, 指向一的一方的主键。如何在数据库中操作?请看:在MySQL中添加外键的几种方式(一对多关系)多对多关系举例:教师与学生1. 正过来看,(“1”)一个老师能教多名学生(“n”)2. 反过来看, (“1”)一个学生有多个老师(“n”)策略:增加一张原创 2020-11-11 15:25:11 · 3293 阅读 · 0 评论 -
在MySQL中建立多对多关系的映射(建立中间表)
前言这篇文章适用的是多对多关系,如何判断一对多,多对多关系?请点下面的链接:【数据库】快速判断一对多,多对多关系,并建立数据库实体之间的映射一、创建两张要建立多对多关系的表众所周知在创建一对多映射时,要在多的一方添加外键。 但是在建立多对多关系的映射时,我们要借助一张中间表,并在中间表里添加外键,所以两张表的建表语句就是正常的建表语句,只需要添加每个表本身的字段即可,不需要添加额外属性。随便举个例子吧,route表(线路)和user表(用户),它们两个表是多对多关系,每个用户可以收藏多个线路,每个原创 2020-11-11 15:14:27 · 8591 阅读 · 3 评论 -
在MySQL中添加外键的几种方式(一对多关系)
一、创建表时添加外键create table users(id int(10),name varchar(20),primary key(id),FOREIGN KEY (id) REFERENCES departments(id));二、数据表已经创建了,如何添加外键?有两种方式:第一种:打开SQLyog,照着下图操作,可视化关联外键第二种,写SQL语句:alter table 表名 add constraint (外键名称) foreign key(外键列名称) REFEREN原创 2020-10-27 22:59:58 · 4779 阅读 · 0 评论