redis mysql 整合demo_SpringBoot整合MyBatis并使用Redis作为缓存组件的Demo

本博客 猫叔的博客,转载请申明出处

Auth:HMStrange-TIAN e-mail:zhangqihao@hnu.edu.cn

历史文章

安装流程

1、安装docker & redis

如果不清楚docker是什么,请查看docker的文档和简介,这里给出docker的安装过程

1.1 安装虚拟机(如果有远程服务器的,请略过此步骤)

本文推荐VMvare,尽管vmvare比较臃肿,但是对于新手比较友好,配置很简单

从官网下载VMvare,官网地址:https://www.vmware.com/cn.html

从官网下载centos镜像文件,官网地址:https://www.centos.org/download/

打开VMvare创建虚拟机,导入镜像系统

Vmvare会自动配置,根据提示输入账户和密码之后,等待自动配置即可

1.2 打开虚拟机的terminal,输入ifconfig查看ip地址,如图:

7f32bf2ce2ed20a9e322dff1fc327fa8.png

1.3 使用远程工具连接服务器,本文推荐使用Cygwin/SmartTTY/Putty/GitBash

打开连接工具,使用ssh root@192.168.xx.xx,登陆服务器即可操作

1.4 安装docker

1.4.1 检查内核版本,必须是3.10及以上

uname -r

1.4.2 安装docker

yum install docker

输入 y 确认安装

1.4.3 启动docker

systemctl start docker

查看docker时候安装成功

docker -v

若有提示如:Docker version 1.12.6, build 3e8e77d/1.12.6,则安装成功

设置开机启动docker

systemctl enable docker

如果想停止docker(慎重!!!)

systemctl stop docker

1.4.4 常见docker命令以及操作

a)镜像操作

检索镜像

docker search keyword

例如:docker search mysql

拉取镜像

docker pull iamges

例如:docker pull registry.docker-cn.com/library/mysql

查看镜像列表

docker images

删除镜像

docker rmi image(镜像)-id

b) 容器操作

根据拉取的镜像启动容器(可以docker images查看已有的镜像,启动需要的镜像)

docker run --name mymysql -d mysql:latest

--name后面是容器的名字 -d 表示后台运行 latest是tag标签,表示最新版本

查看运行中的容器、

docker ps

停止运行中的容器

docker stop 容器的id

查看所有的容器

docker ps ‐a

启动容器

docker start 容器id

删除一个容器

docker rm 容器id

启动一个做了端口映射的容器

docker run ‐d ‐p 8080:8080

-d:后台运行 -p : 将主机的端口映射到容器的一个端口 主机端口:容器内容端口

更多命令和操作请查看docker官网

1.5 使用docker 安装 redis

1.5.1 搜索镜像

52a7f0b57590cc65950370041d8b3703.png

1.5.2 拉取镜像

docker pull docker.io/redis

1.5.3 查看镜像

499e6b6d5ff87c6205fe8da4a791786d.png

1.5.4 运行镜像

docker run -d -p 6379:6379 --name myredis docker.io/redis

1.5.5 查看运行中的镜像

docker ps

此时,使用docker安装、运行镜像已经完成了

1.6 使用RedisDesktopManager连接Redis数据库

下载地址:https://redisdesktop.com/down...

设置连接名、主机名字(就是我们前面输入ifconfig查看得到的ip)、端口号(暴露的那个端口号就是用那个端口号,默认为6379)

6b0c327fb66a10a32906335076a8aecc.png

点击Tes tConnection 显示 successful 点击 OK

更多关于redis的操作命令请查看官网:

http://www.redis.cn/

2、springboot整合mybatis

2.1、打开IDEA,使用springboot Initializr 快速创建向导

点击下一步

4df03012018b4f0aa70ea156b955996a.png

输入相应的Group、Artifact(不会的请先学习IDEA)

0b7406dac00f5737b28df87c5e4295ba.png

选择相应的模块,如右下方红框所示

3b4ea85a8866066170f12d80babf070e.png

输入项目name和项目address

32e0409a2c2d9d72d4e0db2d2e4c2301.png

2.2、创建完成后,可以看到pom文件中引入了相应的starter

463884e0e22c96b24096d017472753c7.png

2.3、在IDEA中配置mysql数据库

2.3.1配置mysql

新建数据库student,新建表student

d200d6ce25a8bd66fefb431dce39e920.png

注:关于如何安装mysql、navicat以及如何使用请自行百度

2.3.2在项目的目录结构中找到application.properties或者新建一个application.yml(关于yml的语法请自行百度)

url的配置规则请百度,输入自己数据库的用户名和密码

e7110efede480e982880f1e1ed157627.png

2.4、编码:新建entity实体类、service、service的实现类、以及mapper接口,然后在resource目录下建立对应的mapper以及mabatis的配置文件

2.4.1项目目录结构如下:

2ce5c0a78e1c0b2fdfbad991df41ea4e.png

2.4.2 entity代码如下

82998b7b1278989bd224c70e84c3c3a2.png

2.4.3 Service代码如下

a1fc663243302fbc22c8e97d24685146.png

2.4.4 Service实现方法如下

注意:在实现方法上加 @Service注解

159c45addfaea2b681c11d16e56a5455.png

2.4.5 mapper如下

注意:在接口上方加@mapper注解

9fa5fda8a9ed43d070927ac55da9edf1.png

2.4.6 Controller如下

注意:加@RestConroller注解

64d5f6394baae95ada8207acce360616.png

2.4.7 mapper映射文件如下

关于映射文件的语法,请查看官方文档,此处给出mybatis的中文文档:

http://www.mybatis.org/mybati...

resource/mybatis/mapper/StudentMapper.xml(此文件的路径)

d91c51eecd08ac9182806da4c1a03e6b.png

2.4.8 mybatias配置文件(这里没有作任何配置,但是这个文件一定要有)

resource/mybatis/mybatis-config.xml

c4c22029351b191feea3e092aa7a3dc9.png

2.4.9 在application.properties配置mybatis

这两个配置是核心,其余配置可参考官方文档

8cebef325177771a03e0d40a99001f96.png

2.4.10 在student表中插入相关数据

如果不知道怎么插入数据,那么........请百度.........

2.5 打开浏览器进行测试

结果如下:

此处用的google测试,也可以使用其他接口测试工具

3c4a0131b0b8c7526a8d64fda3ba5d5e.png

3、springboot整合redis

3.1 在pom文件中引入redis 的坐标

d66d07529a99f7f15ea647e6198883bf.png

3.2 在application.properties或者是application.yml中配置redis,host就是你的服务器的ip

3ec40dd145cdd0716d341dde72e16b16.png

3.3 在springboot的启动类开启缓存注解

ec62e8d5a7b0e1b02780363e6c2a6a09.png

3.4 新建redisConfig类配置redis

不要忘记加@Configuration,两个bean都是为了改变序列化的机制

f11a82f6905a386d586e9be10bbff210.png

3.5 在service的实现类上开启注解

22bbe12bd9b05e85138f4daa41bc19b2.png

3.6 测试结果,

3.6.1 先开启日志打印

红框内是mapper的相对路径

5f8880be0c065b7f016ea1200f8ae6ef.png

3.6.2 第一次在浏览器请求会发现,控制台打印了sql语句

发起请求,在浏览器地址栏输入:

查看控制台

此时,student对象已被缓存到了redis中

3ba4c44bfbc08ba501581744d021c054.png

3.6.2 第二次从浏览器发起请求,发现控制台没有打印sql日志,说明缓存成功,使用RedisDesktopManager查看数据库

51bddffa2f44f554136fef4fa5598c71.png

9、项目下载地址

公众号:Java猫说

学习交流群:728698035

现架构设计(码农)兼创业技术顾问,不羁平庸,热爱开源,杂谈程序人生与不定期干货。

47f25c8f271b9c9fe9b93aac8c2818be.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值