一. 什么是Mybatis
官方说明: Mybatis是一款优秀的持久层框架,它支持制定化SQL,存储过程以及高级映射。Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。Mybatis可以使用简单的XML或注解来配置和映射原生信息,将接口和java的pojo映射成数据库中的记录。
个人理解:Mybatis是一个半ORM(对象关系映射)框架,对jdbc的操作数据库库的过程进行封装,使开发者只需关注SQL本身,提高开发效率。它是一个可以自定义SQL,存储过程和高级映射的持久层框架。
二. Mybatis的特点
2.1 优点
1. 基于SQL语句编程,相当灵活,SQL写在xml中,解除SQL和程序代码的耦合,便于统一管理;提供xml标签,支持编写动态SQL语句,并可重用。
2. 与jdbc相比,减少代码量,消除了jdbc大量冗余的代码,不需要手动开关连接。
3. 能够与spring很好的集成,也可以兼容各种数据库(只要jdbc支持的数据库Mybatis都支持)。
4. 提供映射标签,支持对象与数据库的orm字段关系映射;提供对象关系映射标签,支持对象关系组件维护。
2.2 缺点
1. SQL语句的编写工作量较大,尤其当字段多,关联表多时,对开发人员编写SQL语句的功底有一定要求。
2. SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。
三. Mybatis架构
SqlMapConfig.xml是Mybatis的全局配置文件,它的名称可以是任意,但是一般命名都为(SqlMapConfig),配置了Mybits的运行时环境等。
四. 简单快速入门
4.1 导包
maven的依赖引入
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.7</version>
</dependency>
4.2 全局配置文件(SqlMapConfig.xml)
4.3 创建实体(此处省略)
4.4 编写SQL映射文件mapper.xml
#与$的区别,参考博客:https://blog.csdn.net/duan196_118/article/details/104269768
parameterType:指定输入参数类型,mybatis通过ognl从输入对象中获取参数值拼接在sql中。
resultType:指定输出结果类型,mybatis将sql查询结果的一行记录数据映射为resultType指定类型的对象。如果有多条数据,则分别进行映射,并把对象放到容器List中
4.5 编写测试类
4.6 MyBatis使用步骤总结
1)配置SqlMapConfig.xml 全局的配置文件 (1、数据源,2、外部的mapper)
2)创建SqlSessionFactory
3)通过SqlSessionFactory创建SqlSession对象
4)通过SqlSession操作数据库 CRUD
5)调用session.commit()提交事务
6)调用session.close()关闭会话
如此就实现了Mybatis的快速入门,接下来会继续总结哟!如有不同意见,欢迎留言指正,望不吝赐教!!!