MyBatis 是更简单完成程序和数据库交互的⼯具,也就是更简单的操作和读取数据库⼯具。(相较于jdbc繁琐的重复操作)
MyBatis 在整个框架中的定位,框架交互流程图 :
MyBatis 也是⼀个 ORM 框架,ORM(Object Relational Mapping),即对象关系映射。在⾯向对象编程语⾔中,将关系型数据库中的数据与对象建⽴起映射关系,进⽽⾃动的完成数据与对象的互相转换:
ORM 把数据库映射为对象:
⼀般的 ORM 框架,会将数据库模型的每张表都映射为⼀个 Java 类。
如果是对之前的 Spring 项⽬进⾏升级,使用EditStarters插件即可:
添加了 MyBatis 之后,还需要添加 MySQL 驱动呢;
原因:MyBatis类似一个数据库平台,而数据库种类有很多(mysql,SQL server,DB2…),因此我们需要具体使用哪种数据库就需要添加对应数据库驱动支持。
如果是新项⽬添加MyBatis,在创建项目时选中对应即可:
# 配置数据库连接
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/mycnblog?characterEncoding=utf8
username: root
password: 1963
driver-class-name: com.mysql.cj.jdbc.Driver
注意:如果使⽤ MySQL 是 5.x 之前的使⽤的“com.mysql.jdbc.Driver”
如果是⼤于 5.x 使⽤的是“com.mysql.cj.jdbc.Driver”
MyBatis 的 XML 中保存是查询数据库的具体操作 SQL,配置如下:
MyBatis 的 XML 文件路径如下:
# 配置mybatis xml保存路径
mybatis:
mapper-locations: classpath:mybatis/**Mapper.xml
按照后端开发的⼯程思路,也就是下⾯的流程来实现 MyBatis 查询所有⽤户的功能:
先添加⽤户的实体类:
数据持久成的实现,mybatis 的固定 xml 格式:
DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.UserMapper">
mapper>
UserMapper.xml 查询所有⽤户的具体实现 SQL:
对标签说明:
服务层实现代码如下:
控制器层的实现代码如下:
以上代码写完,整个 MyBatis 的查询功能就实现完了,接下来使⽤ postman 或者浏览器发送get请求来测试⼀下:
返回数据成功,使用MyBatis实现查询数据库表所有用户成功 !