前言
做Java很多年了,从入行开始就是使用Mybatis,从springMVC过渡到spring boot,使用过程中也觉得很好用,可能是没经历过手写jdbc链接池的年代,所以没有那种,啊,终于啊,你来了的感受。就像现在的小孩子,根本不知道用手摆一个六放在脸边上为啥就是啥电话的意思,时代让我们变得幸福。
废话说了不少,今天主要是想聊聊Mybatis为啥存在着。
起源
在手写jdbc链接池的时代,我们首先要自己加载jdbc的驱动,然后去创建一个connection,然后自己手写String 的sql,然后再去一个个配置参数,最后返回的的结果我们再去一个个遍历key和value赋值到我们自己定义的pojo类。听起来就很麻烦,这还是一小部分,因为要硬编码,所以我们更换数据驱动,要在写一套,换表名,再写一套,数据结构变化,还要改代码。这还不是关键的,我们还要为了不频繁创建连接,要自己手写连接池,要自己去处理不同的数据库的差异,问题一堆,关键是,每次改动,回归的范围还很大,开发的痛点集中在了明明不需要那么关系的数据捞取环节,很繁琐,所以,Mybatis就来了。
MyBatis简介
1、首先Mybatis是一款ORM的半自动轻量级持久层框架。
2、使用xml或注解来映射原生类型、接口和java的POJO为数据库中的对象。
ORM就是关系型映射的概念,可以吧关系型数据库包装成对象。
半自动的意思就是我们还是需要自己去手写一些sql来帮我们完成查询功能,这点主要区别于Hibernate。
轻量级不用多说,mybatis的核心能力重点关注在ORM关系映射,没有那么的沉重,也没有那么多的依赖,这也是其风靡的一个原因。
Mybatis解决的问题
1、数据库不需要频繁创建连接
2、解决代码硬编码
3、创建关系映射,将数据库结构映射到pojo对象
网友评论