带着新人学springboot的应用01(springboot+mybatis+缓存 上)

Posted java小新人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带着新人学springboot的应用01(springboot+mybatis+缓存 上)相关的知识,希望对你有一定的参考价值。

  上一篇结束,第一次做一个这么长的系列,很多东西我也是没有说到,也许是还没有想到,哈哈哈,不过基本的东西还是说的差不多了的。假如以后碰到了不会的,随便查查资料配置一下就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+缓存 上)的主要内容,如果未能解决你的问题,请参考以下文章

带着新人学springboot的应用01(springboot+mybatis+缓存 中)

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

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

带着新人学springboot的应用05(springboot+RabbitMQ 上)

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

带着新人学springboot的应用12(springboot+Dubbo+Zookeeper 下)