* [4.4.5 添加Controller](#445_Controller_222)
+ [5. 增、删、改操作](#5__240)
+ - [5.1 增加用户的操作](#51__242)
- [5.2 删除用户的操作](#52__257)
- [5.3 修改用户操作](#53__265)
+ [6. 查询操作](#6__273)
+ - [6.1 单表查询](#61__275)
- * [6.1.1 参数占位符 #{} 和 ${}](#611_____294)
* [6.1.2 $优点](#612__301)
* [6.1.3 SQL 注入问题](#613_SQL__305)
* [6.1.4 like查询](#614_like_315)
- [6.2 多表查询](#62__327)
- * [6.2.1 返回类型](#621__336)
* [6.2.2 返回字典映射:resultMap](#622_resultMap_348)
* [6.2.3 多表查询](#623__368)
* + [6.2.3.1 一对一的映射](#6231__376)
+ [6.2.3.2 一对多的映射](#6232__406)
+ [7. 复杂情况](#7__428)
+ - [7.1 `<if>`标签](#71_if_432)
- [7.2 `<trim>`标签](#72_trim_453)
- [7.3 `<where>`标签](#73_where_502)
- [7.4 `<set>`标签](#74_set_517)
- [7.5 `<foreach>`标签](#75_foreach_551)
MyBatis查询数据库
经过前面的学习Spring系列的操作已经差不多了,接下来我们继续学习更加重要的知识,将前端传递的参数存储起来,或者查询数据库里面的数据
1. MyBatis 是什么?
MyBatis是款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis几乎祛除了所有的JDBC代码以及设置参数和获取结果集的操作。MyBatis可以通过简单的XML或者注解来配置和映射原始类型、接口和Java POJO为数据库中的记录
简单来说MyBatis是简单完成程序和数据库交互的工具,也就是更简单的操作和读取数据库的工具
2. 为什么要学习MyBatis?
对于后端程序员来说,程序是由以下两个程序组成的:
- 后端程序
- 数据库
而这两个重要的组成部分要通讯,就要依靠数据库连接工具,那么数据库连接工具有哪些?比如JDBC还有今天我们要介绍的MyBatis。既然已经有了JDBC,为什么还要学习MyBatis?这是因为JDBC操作太繁琐了,我们来回顾一下JDBC的操作流程:
- 创建数据库连接池
DataSource
- 通过
DataSource
获取数据库连接Connection
- 编写要带?的占位符的SQL语句
- 通过
Connection
及SQL创建操作命令对象Statement
- 替换占位符:指定要替换的数据库字段类型,占位符索引及要替换的值
- 使用
Statement
执行SQL语句 - 查询操作:返回结果集
ResultSet
,更新操作:返回更新的数量 - 处理结果集
- 释放资源
3. 怎么学MyBatis?
MyBatis的学习只分为两部分:
- 配置MyBatis开发环境
- 使用MyBatis模式和语法操作数据库
4. 第一个MyBatis查询
开始搭建MyBatis之前,我们需要先来看看它在整个框架之中的地位
MyBatis也是一个ORM框架,ORM即对象关系映射。在面向对象编程语言当中,讲关系型数据库中的数据与对象建立起映射关系,进行自动完成数据与对象的相互转换
- 将输入数据(即传入对象)+ SQL映射原生SQL
- 将结果集映射为返回对象,即输出对象
O