上一篇结束,第一次做一个这么长的系列,很多东西我也是没有说到,也许是还没有想到,哈哈哈,不过基本的东西还是说的差不多了的。假如以后碰到了不会的,随便查查资料配置一下就ok。

  咳,还有大家如果把我前面的消化的差不多的话,那么应该从萌新成长到新人了,嘿嘿!所以我把这一篇题目叫做带着新人学@_@!

  萌新阶段主要是教大家用一些底层原理和一些基本配置原理,还没有涉及到怎么用,现在jiu来大概说说怎么用和看一些源码。

  记得上一篇说过springboot+JdbcTemplate的简单使用,这一次就整合一下mybatis,加上缓存的使用,还会说一下使用redis,当然也会看一看源码。(往自己脸啪啪啪打脸,要说的东西真特么多。。。)

  不说废话了,正题开始。

准备工作:至少你要会mybatis框架的使用(注解版和xml都行,还有,就不用Druid数据源了,一切以简洁为主,想用的根据我之前的文章自行添加即可)

1.新建一个springboot应用

  导入如下的几个场景cache+web+mysql+mybatis+版本1.5xx

2.数据库新建两个表以及对应的javabean(不需要有什么联系)

   这个没什么好说的,不管用什么持久层框架,都是这样(也可以自己准备.sql文件,然后放到类路径下等等操作,我之前就具体的说过了,不赘述)

  我比较懒,就不搞这么正规了,手动创建吧!

  数据库的表应该都会吧,我就不多说了。

  我的表:

------------------------------------------------------

-------------------------------------------------------------

3.javaweb三层结构以及配置连接池(最基本的东西,没忘记吧!)

测试结果:

-------------------------------------------------------------------------------------------

  emmmmm。。。。这是最基本最简化版的一个springboot+mybatis,是不是很容易,接下来我们就在这个基础上去扩展。

  注意:搭建这个简单的环境运行的时候,报错了,数据库驱动错误(难道我这么菜,这样简陋的整合都会出错吗?),查了一下发现数据库驱动太高级了...emmmm,我看了看,貌似mybatis默认用最新的数据库驱动8.0.13,我还是改了一下用5.1.38版本的,ok了,所以还是不要用最新的数据库驱动为好,水太深了.......

扩展:

1.mapper增加crud方法

2.Service增加一点东西

3.controller增加内容

 进一步测试:

  插入数据(记得?一定要是英语的问号)

  查询

  打开控制台

  缓存

  为什么要有缓存?大家知不知道,其实我们每次连接数据库是很慢的,而且很消耗数据库的资源,大白话说就是很卡,用WiFi玩游戏看电视的时候,假如连接WiFi的手机特别多,emmm。。。看动漫的我还是缓存起来再看,不然会很卡。

  数据库一样,连接的太多了,首先连接池有最大连接限制,超过最大数目就要等着,排队;然后当连接数目比较多每次都去连接数据库查,处理一个sql语句都会很卡,卡爆了。所以,我们就出现了缓存,把查过一次的结果缓存一下,下次就不用去数据库了,直接从你的缓存里拿就ok了,这个速度非常快。

  缓存加在Service可以,加在Dao层也行,看实际情况,我这里随意了,就加在Service层了。

  首先,主配置类开启缓存

 

  然后可以去浏览器查询,无论刷新多少次,只打印一条这个语句

  这一节就到这里,很粗略的说了一下mybatis和缓存,下一节说说注解配置mybatis,接着详细的说说缓存其他的作用以及其他的注解,然后就是源码看一下内在原理。

 

带着新人学springboot的应用01(springboot+mybatis+缓存 上)的更多相关文章

  1. 带着新人学springboot的应用04(springboot+mybatis+redis 完)

    对于缓存也说了比较多了,大家对下图这一堆配置类现在应该有些很粗略的认识了(因为我也就很粗略的认识了一下,哈哈!),咳,那么我们怎么切换这个缓存呢?(就是不用springboot提供的默认的Simple ...

  2. 带着新人学springboot的应用03(springboot+mybatis+缓存 下)

    springboot+mybatis+缓存,基本的用法想必是会了,现在说一说内部大概的原理. 稍微提一下mybatis,只要导入了mybatis的依赖,那么有个自动配置类就会生效,你可以去mybati ...

  3. 带着新人学springboot的应用07(springboot+RabbitMQ 下)

    说一两句废话,强烈推荐各位小伙伴空闲时候也可以写写自己的博客!不管水平高低,不管写的怎么样,不要觉得写不好或者水平不够就不写了(咳,我以前就是这样的想法...自我反省!). 但是开始写博客之后,你会发 ...

  4. 带着新人学springboot的应用13(springboot+热部署)

    spring cloud我想做成一个系列,所以spring cloud+eureka后面会慢慢说到的,有兴趣的小伙伴可以关注后续! 这一节就简单说说springboot的热部署了(我一直想不通为什么叫 ...

  5. 带着新人学springboot的应用11(springboot+Dubbo+Zookeeper 上)

    这次说个在大型项目比较常见的东西,就是分布式,分布式到底是个什么东西呢?概念太大,不好说,就像刚学javaee的人问你,什么是web啊,什么是spring啊等等,你可能觉得,这个东西我好像知道,但是用 ...

  6. 带着新人学springboot的应用10(springboot+定时任务+发邮件)

    接上一节,环境一样,这次来说另外两个任务,一个是定时任务,一个是发邮件. 1.定时任务 定时任务可以设置精确到秒的准确时间去自动执行方法. 我要一个程序每一秒钟说一句:java小新人最帅 于是,我就写 ...

  7. 带着新人学springboot的应用09(springboot+异步任务)

    本来想说说检索的,不过不知道什么鬼,下载ElasticSearch太慢了,还是放一下,后面有机会再补上!今天就说个简单的东西,来说说任务. 什么叫做任务呢?其实就是类中实现了一个什么功能的方法.常见的 ...

  8. 带着新人学springboot的应用08(springboot+jpa的整合)

    这一节的内容比较简单,是springboot和jpa的简单整合,jpa默认使用hibernate,所以本质就是springboot和hibernate的整合. 说实话,听别人都说spring data ...

  9. 带着新人学springboot的应用06(springboot+RabbitMQ 中)

    上一节说了这么多废话,看也看烦了,现在我们就来用鼠标点点点,来简单玩一下这个RabbitMQ. 注意:这一节还是不用敲什么代码,因为上一节我们设置了那个可视化工具,我们先用用可视化工具熟悉一下流程. ...

随机推荐

  1. C++函数返回值为类对象但未调用复制构造函数

    参考资料:https://blog.csdn.net/sxhelijian/article/details/50977946 不要迷信书本,要学会自己调试程序.

  2. C++ Json解析CJsonObject的详细使用

    引用头文件: #include <string> #include <iostream> #include <fstream> #include <casse ...

  3. 大白话讲解Promise

    去年6月份, ES2015正式发布(也就是ES6,ES6是它的乳名),其中Promise被列为正式规范.作为ES6中最重要的特性之一,我们有必要掌握并理解透彻.本文将由浅到深,讲解Promise的基本 ...

  4. java自动化-数据驱动junit演示,下篇

    本文旨在帮助读者介绍,如何使用excle实现数据驱动 本文是上文https://www.cnblogs.com/xuezhezlr/p/9096063.html的继续,如果没看上文建议自己看一下,对理 ...

  5. HCNA(华为)_DHCP篇

    在大型的企业网络中,会有大量的主机或设备需要获取IP地址等网络参数.如果采用手工配置,工作量大 且不好管理,如果有用户擅自修改网络参数,还有可能会造成IP地址冲突等问题.使用动态主机配置协DHCP 来 ...

  6. 第k小的元素

    利用快排思想,如果标志位大于k,则第k小的数字在左边,否则在右边.(程序是第k大的元素) #include <iostream> #include <vector> using ...

  7. git 提交代码到库

    今天用git commit -m “注释”提交的时候,注释写错了,于是各种查资料开始了和git bash vim的纠缠...(网上的资料我真是没操作成功,不过最后还是摸索出来了) 首先 使用 git ...

  8. 理解JavaScript【转】

    第一题 if (!("a" in window)) {     var a = 1; } alert(a); 第二题 var a = 1,     b = function a(x ...

  9. 在 Vim 中优雅地查找和替换(转)

    总有人问我 Vim 中能不能查找,当然能!而且是超级强的查找! 这篇文章来详细介绍 Vim 中查找相关的设置和使用方法. 包括查找与替换.查找光标所在词.高亮前景/背景色.切换高亮状态.大小写敏感查找 ...

  10. 如何查找MySQL中查询慢的SQL语句(转载)

    转载自https://www.cnblogs.com/qmfsun/p/4844472.html 如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那 ...