1 什么是MyBatis?
MyBatis 是一个开源、轻量级的数据持久化框架,是JDBC和Hibernate 的替代方案。
MyBatis 前身为IBatis,2002 年由 Clinton Begin 发布2010 年从Apache 迁移到 Google,并改名为 MyBatis,2013 年又迁移到了Github.
mybatis 是一个优秀的基于]ava 的持久层架,它内部封装了jdbc,使开发者只需要关注 sgl 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。
mybatis 通过xml 或注解的方式将要执行的各种statement 配置起来,并通过java 对象和 statement 中 sl 的动态参数进行映射生成最终执行的 sql语句,最后由 mybatis 架执行 sq 并将结果映射为java对象并返回。
采用ORM思想解决了实体和数据库映射的问题,对jdbc进行了封装,屏蔽了jdbcapi底层访问细节,使我们不用与jdbc api打交道,就可以完成对数据库的持久化操作。
MyBatis 支持定制化 SQL、存储过程以及高级映射,可以在实体类和 SQL 语句之间建立映射关系,是一种半自动化的ORM实现。
Spring是一个轻量级控制反转(loC)和面向切面(AOP)的容器框架
2 为什么要使用MyBatis?
MyBatis主要的目的就是简化JDBC操作,并且满足高并发和高响应的要求。
JDBC存在的问题:
1.数据库链接创建[释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。
2.Sql 语句在代码中硬编码,造成代码不易维护,实际应用 sl 变化的可能较大,sl 变动需要改变java代码。
3.使用preparedStatement 向占有位符号传参数存在硬编码,因为sql语句的where条件不一定,可能多也可能少,修改 sql还要修改代码,系统不易维护。
4.对结果集解析存在硬编码(查询列名),5 变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成 pojo对象解析比较方便。
mybatis特点:
1.mbatis 内部封装了idbc使开发者只需要关注 sal 语句本身,而不需要花费力夫外理加载取动,创建连接、创建 statement等整杂的过程。
2.mvbatis 通过 xml或注解的方式将要执行的各种 statement 配置起来,并通过 ava 对象和 statement 中sa 的动态参教进行映射生成最终执行的sql语句,最后由mybatis 框架执行sql并将结果映射为java对象并返回。
3.采用ORM 思解决了实体和数据库映射的问题,对 dbc 进行了封装,屏蔽了dbc api底层访问细节,使我们不用与jdbc api打交道,就可以完成对数据库的持久化操作。
下面我们来用一个入门的案例,了解一下MyBatis的基本操作步骤。
步骤如下:
1.建库建表
2.创建maven项目
3.依赖管理
4.创建核心配置文件mybatis-config.xml
5.创建实体类
6.创建mapper映射文件
7.创建接口 写对应方法
8.抽取工具类 提高代码复用性
9.测试
具体步骤:
1.建库 db1数据库student表
2.创建项目 并创建模块
3.依赖管理
在pom.xml中添加依赖
4.创建核心配置文件mybatis-config.xml
在src/main/resources下创建mybatis-config.xml文件,打开mybatis官网
在入门文档中复制配置文件,粘贴到SqlMapConfig.xml文件中,并且配置数据源
5.创建实体类
创建Student类
6.创建mapper映射文件
7.创建接口 写对应方法
8.抽取工具类 提高代码复用性
9.测试
测试结果