MyBatis 系列1 -- 初识MyBatis

文章介绍了MyBatis作为持久层框架的作用,它简化了JDBC的繁琐操作。通过创建数据库和表、配置MyBatis环境、编写Mapper接口和XML文件,实现了数据库的查询功能。文章还提到了使用Postman进行测试,并预告了后续将探讨XML中的SQL标签和单元测试。
摘要由CSDN通过智能技术生成

前言

        在之前总结了Spring系列,包括了最基础的Spring框架,springboot框架,SpringMVC ,以上框架能帮助我们更加便捷的与前端页面进行交互.现在我们遇到了一个问题,就是我们和前端进行交互,我们的数据应该怎么存储和写入呢?在学习Servlet的时候,我们通过JDBC进行连接数据库.主要就是对JDBC的连接操作进行封装,然后获取数据库的连接,进行构造sql语句,每次构造sql语句的时候都要进行获取连接的服务.这样的过程就很繁琐了,接下来我们将迎来一个新的框架--MyBatis框架.这个框架可以取出几乎所有的JDBC代码以及设置参数进行获取结果集.下面就一起来学习一下吧!

目录

前言

1. MyBatis 是什么?

2. 为什么要学习MyBatis?

3. 怎么学MyBatis?

​4. 第一个MyBatis查询

4.1 创建具体的数据库和表 

4.2 添加MyBatis环境支持

4.3 配置连接字符串和MyBatis

4.4 添加业务代码

4.4.1 添加实体类

4.4.2 添加 mapper 接口

4.4.3 添加 UserMapper.xml

4.4.4 添加 Service

4.4.5 添加 Controller

4.4.6 使用postman 测试

5. 结语


 

1. MyBatis 是什么?

         MyBatis 是一种持久层框架,支持自定义 SQL、存储过程 以及 高级映射。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口.简单的来说简单来说 MyBatis 是更简单完成程序和数据库交互的工具,也就是更简单的操作和读取数据库工具。

2. 为什么要学习MyBatis?

 对于后端开发,程序是由一下两个重要的部分组成的:

而这两个重要的组成部分要通讯,就要依靠数据库连接工具,那数据库连接工具有哪些?就跟前言部分进行讲述的一样我们学的是JDBC.那我们就借此机会进行回顾一下JDBC编程;

  • 1. 创建数据库与连接池DataSource
  • 2. 通过DataSource获取数据库连接Connection
  • 3. 编写执行?占位符的sql语句
  • 4. 通过Connection及sql创建操作命令对象Statement
  • 5. 使用Statement进行替换占位符的值,替换的时候要制定替换数据库字段的类型
  • 6. 使用Statement执行sql语句
  • 7. 查询操作: 返回结果集ResultSet 更新操作:返回更新的数量
  • 8. 处理结果集
  • 9. 释放资源

上述就是JDBC的整个框架的思路. 整个操作非常的繁琐,我们不但要拼接每⼀个参数,而且还要按照模板代码的方式,⼀步步的操作数据库,并且在每次操作完,还要手动关闭连接等,而所有的这些操作步骤都需要在每个方法中重复书写。这时候我们就要学习新的框架MyBatis框架.

3. 怎么学MyBatis?

4. 第一个MyBatis查询

MyBatis 在整个框架中的定位

 MyBatis 也是⼀个 ORM 框架, ORM(Object Relational Mapping),即对象关系映射。在面向对象编程语言中,将关系型数据库中的数据与对象建立起映射关系,进而自动的完成数据与对象
的互相转换:

  • 1. 将输入的数据(即传人对象)+SQL 映射成原生的SQL
  • 2. 将结果集映射为返回对象,即输出对象

  

4.1 创建具体的数据库和表 

代码如下 :

-- 创建数据库
drop database if exists mycnblog;
create database mycnblog DEFAULT CHARACTER SET utf8mb4;

-- 使⽤数据数据
use mycnblog;

-- 创建表[⽤户表]
drop table if exists userinfo;
create table userinfo(
    id int primary key auto_increment,
    username varchar(100) not null,
    password varchar(32) not null,
    photo varchar(500) default '',
    createtime datetime,
    updatetime datetime,
    `state` int default 1
) default charset 'utf8mb4';

-- 创建⽂章表
drop table if exists articleinfo;
create table articleinfo(
    id int primary key auto_increment,
    title varchar(100) not null,
    content text not null,
    createtime datetime,
    updatetime datetime,
    uid int not null,
    rcount int not null default 1,
    `state` int default 1
)default charset 'utf8mb4';

-- 创建视频表
drop table if exists videoinfo;
create table videoinfo(
    vid int primary key,
    `title` varchar(250),
    `url` varchar(1000),
    createtime datetime,
    updatetime datetime,
    uid int
)default charset 'utf8mb4';
INSERT INTO `mycnblog`.`userinfo` (`id`, `username`, `password`, `photo`,`createtime`, `updatetime`, `state`) 
VALUES(1, 'admin', 'admin', '', '2021-12-06 17:10:48', '2021-12-06 17:10:48', 1);

-- ⽂章添加测试数据
insert into articleinfo(title,content,uid) values('Java','Java正文',1);
insert into videoinfo(vid,title,url,uid) values(1,'java title','http://www.baidu.com',1);

4.2 添加MyBatis环境支持

添加 MyBatis 框架⽀持分为两种情况:⼀种情况是对自己之前的 Spring 项目进行升级,另⼀种情况是创建⼀个全新的 MyBatis 和 Spring Boot 的项目,下面我们分别来演示这两种情况的具体实现。

1. 可以使用在Maven中央仓库进行查找环境依赖 :分别是MyBatis和MySQL 驱动.两者缺一不可.

<!-- 添加 MyBatis 框架 -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.4</version>
</dependency>
<!-- 添加 MySQL 驱动 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.38</version>
    <scope>runtime</scope>
</dependency>

2. 使用插件进行生成

安装之后,在pom.xml中右击,点击generate

选择我们的插件 

 

 选择依赖

 也可以直接在新建SpringMVC 项目的时候进行添加环境依赖.这里就不用在演示了.可以看之前的系列,然后点击sql栏进行添加mybatis和MySQL就可以了.

4.3 配置连接字符串和MyBatis

在项目的配置文件进行配置,可以使用properties也可以使用yml,这里使用yml为例.(建议大家使用yml格式的配置文件).

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

# myBatis  xml保存轮径
mybatis:
  mapper-locations: classpath:mybatis/*Mapper.xml
  configuration: # 配置打印 MyBatis 执行的 SQL
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

# 配置打印 MyBatis 执行的 SQL
logging:
  level:
    com:
      example:
        demo: debug

上述代码大家不用记住,放在自己能随时找到的地方就行.

4.4 添加业务代码

下图是后端开发的工程思路

 

为什么不直接写成一个,实现具体操作数据库的方法,还要去使用接口加xml进行实现操作数据库?

答案:因为要实现具体的方法就要在方法中使用字符串进行书写sql代码我们不如直接设计一个接口,然后具体的实现将sql交给xml文件,这样看起来更简洁.

这是整个项目的文件目录,我们最好使用下述目录进行构造文件

4.4.1 添加实体类

userinfo

4.4.2 添加 mapper 接口

        这里注意,我们也要将接口进行注入到容器中,随着Spring的启动而启动,就需要添加注解@Mapper,和我们之前学过的五大类注解功能是相同的.

4.4.3 添加 UserMapper.xml

下面是配置MyBatis的xml的模板 

<?xml version="1.0" encoding="UTF-8"?>
<!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>

在Mapper标签里面添加sql对应xml的标签进行构造操作数据库的sql;

4.4.4 添加 Service

4.4.5 添加 Controller

 以上代码写完,整个 MyBatis 的查询功能就实现完了,接下来使⽤ postman 来测试⼀下。

4.4.6 使用postman 测试

5. 结语

        上述就就是MyBatis的基本原理以及简单的构建与使用,下一个篇章就要对xml的对应的sql标签进行总结以及讲解下单元测试的使用.最后完成增删改查的基本数据库操作.大家持续关注哦!!谢谢❤️❤️❤️❤️ 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈士奇的奥利奥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值