【MyBatis】深入解析 MyBatis:在 idea 中创建 MyBatis 工程的方法、MyBatis 对应 pom 依赖讲解和数据库连接对应的 properties、yml 配置文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


MyBatis 操作数据库


本节目标

  1. 使用MyBatis完成简单的增删改查操作,参数传递。
  2. 掌握MyBatis的两种写法:注解和XML方式。
  3. 掌握MyBatis相关的日志配置。

前言


在应用分层学习时,我们了解到web应用程序一般分为三层,即:ControllerServiceDao

之前的案例中,请求流程如下:

  • 浏览器发起请求,先请求Controller
  • Controller 接收到请求之后,调用Service进行业务逻辑处理
  • Service再调用Dao
  • 但是Dao层的数据是Mock的,真实的数据应该从数据库中读取

我们学习MySQL数据库时,已经学习了 JDBC 来操作数据库,但是 JDBC 操作太复杂了。


什么是 MyBatis


  • MyBatis是一款优秀的持久层框架,用于简化 JDBC 的开发

MyBatis 本是 Apache 的一个开源项目iBatis,2010年这个项目由apache迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。


Spring生态与MyBatis详细关系图:

基于
包含
包含
提供
提供
通过
集成到
管理
注入
装配
自动配置
调用
Spring Boot
Spring Framework
Spring Core
Spring MVC
IOC容器
DI机制
MyBatis
MyBatis-Spring

在上面我们提到一个词:持久层。

持久层:指的就是持久化操作的层,通常指数据访问层(dao),是用来操作数据库的。

在这里插入图片描述

简单来说MyBatis是更简单完成程序和数据库交互的框架,也就是更简单的操作和读取数据库工具。

接下来,煮啵就通过一个入门程序,让大家感受一下通过Mybatis如何来操作数据库。


Mybatis操作数据库的步骤:

  1. 准备工作(创建springboot工程、数据库表准备、实体类);
  2. 引入Mybatis的相关依赖,配置Mybatis(数据库连接信息);
  3. 编写SQL语句(注解/XML);
  4. 测试;

创建工程


创建springboot工程,并导入 mybatis 的起步依赖、mysql的驱动包。

在这里插入图片描述

Mybatis是一个持久层框架,具体的数据存储和数据操作还是在MySQL中操作的,所以需要添加MySQL驱动。


Mybatis 对应依赖


项目工程创建完成后,自动在pom.xml文件中,导入Mybatis 依赖MySQL 驱动依赖

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


数据库连接对应的配置文件


properties


如果是application.properties文件,配置内容如下:

# 驱动类名称
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# 数据库连接的url
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mybatis_test?characterEncoding=utf8&useSSL=false

# 连接数据库的用户名
spring.datasource.username=root

# 连接数据库的密码
spring.datasource.password=root

yml


Mybatis 中要连接数据库,需要数据库相关参数配置。

  • MySQL驱动类。
  • 登录名。
  • 密码。
  • 数据库连接字符串。

如果是application.yml文件,配置内容如下:

# 数据库连接配置
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/mybatis_test?characterEncoding=utf8&useSSL=false
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver

在这里插入图片描述

注意事项:

  • 如果使用MySQL是5.x之前的使用的是"com.mysql.jdbc.Driver"

  • 如果是大于5.x使用的是“com.mysql.cj.jdbc.Driver”


数据库和表的选择


在代码中,是如何选定一个数据库,以及选定这个数据库的表的呢?

数据库和表的选择是通过以下方式实现的:


1. 数据库的选择

数据库的选择是在 application.yml 配置文件中指定的:

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/mybatis_test?characterEncoding=utf8&useSSL=false
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver

关键部分是 jdbc:mysql://127.0.0.1:3306/mybatis_test,这里指定了:

  • 数据库类型:MySQL
  • 地址:本地(127.0.0.1)
  • 端口:3306
  • 数据库名称:mybatis_test

2. 表的选择

表的选择是在Mapper接口的SQL语句中指定的。例如:

@Select("select* from user_info")
List<UserInfo> selectAll();

这里 from user_info 指定了操作的表是 user_info 表。


工作流程总结

  1. Spring Boot应用启动时,会根据 application.yml 中的配置创建数据库连接池,连接到指定的 mybatis_test 数据库。
  2. 当调用Mapper方法时,MyBatis会执行对应的SQL语句,这些SQL语句中明确指定了要操作的表(如 user_info)。
  3. 所有的数据库操作都是在 mybatis_test 数据库中的 user_info 表上进行的。

注意事项

  • 确保 mybatis_test 数据库存在且可访问
  • 确保 user_info 表存在于该数据库中
  • 确保配置的用户名(root)和密码(123456)有足够的权限访问该数据库和表

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值