【MyBatis 学习一】认识MyBatis && 第一个MyBatis查询

这篇具有很好参考价值的文章主要介绍了【MyBatis 学习一】认识MyBatis && 第一个MyBatis查询。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、认识MyBatis

1、MyBatis是什么?

2、为什么要学习MyBatis?

二、配置MyBatis环境

1、建库与建表

2、创建新项目 

3、xml文件配置

(1)配置数据库连接

(2)配置 MyBatis 中的 XML 路径

三、测试:第一个MyBatis查询

1、用户实体类User:和数据库属性对应

2、添加mapper接口

3、添加UserMapper.xml

4、自行测试

5、添加 Service

6、添加Controller 


一、认识MyBatis

1、MyBatis是什么?

        MyBatis是一个持久层框架,(持久:支持数据存在硬盘上),MyBatis 去除了⼏乎所有的 JDBC 代码以及设置参数和获取结果集的⼯作,可以通过简单的 XML 或注解来完成MyBatis 是更简单完成程序和数据库交互的⼯具,也就是更简单的操作和读取数据库⼯具。之前的Spring是让Java代码更简单。

问题1:MyBatis和Spring的关系?

           MyBatis和Spring没有任何关系!如果非要有关系,就是Spring集成了MyBatis框架。就相当于我们之前的举例:Spring是高铁,那么MyBatis就是高铁的APP订餐系统,高铁只是集成了这个订餐框架,更加方便我们的出行,没有高铁订餐系统也可以在其他平台使用,所以两者之间并没有什么关系,MyBatis可以脱离Spring使用。

2、为什么要学习MyBatis?

        对于后端开发来说,程序是由以下两个重要的部分组成的:后端程序+数据库。⽽它两要建立连接,就要依靠数据库连接⼯具,我们学习的 JDBC,还有MyBatis都是,那已经有了 JDBC 了,为什么还要学习 MyBatis?这是因为 JDBC 的操作太繁琐了。

【MyBatis 学习一】认识MyBatis && 第一个MyBatis查询,Spring学习,mybatis,学习,spring boot,后端,java,spring

之前的JDBC代码流程:(非常繁琐)

1. 创建数据库连接池 DataSource;
2. 通过 DataSource 获取数据库连接 Connection;
3. 编写要执⾏带 ? 占位符的 SQL 语句;(√)
4. 通过 Connection 及 SQL 创建操作命令对象 Statement;
5. 替换占位符:指定要替换的数据库字段类型,占位符索引及要替换的值;(√)
6. 使⽤ Statement 执⾏ SQL 语句;
7. 查询操作:返回结果集 ResultSet,更新操作:返回更新的数量;
8. 处理结果集;(√)
9. 释放资源。
        现在MyBatis,其中sql语句,传参,处理结果集这几步需要自己实现(可以写在Java代码中,也可以写在MyBatis配置文件中)可以帮助我们更⽅便、更快速的操作数据库。不过MyBatis底层还是依赖数据库连接的。

问题2:MyBatis与数据库的关系?

        MyBatis与数据库也没有关系!MyBatis是让数据库的连接操作更简单,但是并不是数据库。MyBatis是程序和数据库的桥梁。MyBatis提供了一个接口访问数据库,接口只是方法的定义,具体的自己要实现,主要通过xml文件实现(注解也可以实现)。

【MyBatis 学习一】认识MyBatis && 第一个MyBatis查询,Spring学习,mybatis,学习,spring boot,后端,java,spring


二、配置MyBatis环境

1、建库与建表

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

-- 使⽤数据数据
use myBatis_db;

-- 创建表[⽤户表]
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 default now(),
updatetime datetime default now(),
`state` int default 1
) default charset 'utf8mb4'

-- 插入数据
INSERT INTO `myBatis_db`.`userinfo` (`id`, `username`, `password`, `photo`,
`createtime`, `updatetime`, `state`) VALUES
(1, 'root', 'root', '', '2023-7-23 17:10:48', '2023-7-23 17:10:48', 1)
;
-- 查询表
select * from userInfo;

2、创建新项目 

注意【MyBatis 学习一】认识MyBatis && 第一个MyBatis查询,Spring学习,mybatis,学习,spring boot,后端,java,spring

【MyBatis 学习一】认识MyBatis && 第一个MyBatis查询,Spring学习,mybatis,学习,spring boot,后端,java,spring

 注意:可以新创建项目引入这些包,但是如果已经是一个老项目了,我没有安装SQL的包,可以通过安装插件实现。

【MyBatis 学习一】认识MyBatis && 第一个MyBatis查询,Spring学习,mybatis,学习,spring boot,后端,java,spring

 右键:generate

【MyBatis 学习一】认识MyBatis && 第一个MyBatis查询,Spring学习,mybatis,学习,spring boot,后端,java,spring

 【MyBatis 学习一】认识MyBatis && 第一个MyBatis查询,Spring学习,mybatis,学习,spring boot,后端,java,spring

 【MyBatis 学习一】认识MyBatis && 第一个MyBatis查询,Spring学习,mybatis,学习,spring boot,后端,java,spring

【MyBatis 学习一】认识MyBatis && 第一个MyBatis查询,Spring学习,mybatis,学习,spring boot,后端,java,spring

3、xml文件配置

(1)配置数据库连接

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

(2)配置 MyBatis 中的 XML 路径

# 配置 mybatis xml 的⽂件路径,在 resources/mapper 创建所有表的 xml ⽂件
mybatis:
mapper-locations: classpath:mapper/**Mapper.xml
  #Spring打印SQL日志
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

同时在resource文件下建立一个新文件夹:mapper。

【MyBatis 学习一】认识MyBatis && 第一个MyBatis查询,Spring学习,mybatis,学习,spring boot,后端,java,spring


三、测试:第一个MyBatis查询

【MyBatis 学习一】认识MyBatis && 第一个MyBatis查询,Spring学习,mybatis,学习,spring boot,后端,java,spring

 按照下⾯的流程来实现 MyBatis 查询所有⽤户的功能。

1、用户实体类User:和数据库属性对应

@Data
public class User {
    private Integer Id;
    private String username;
    private String password;
    private String photo;
    private Date createTime;
    private Date updateTime;
}

2、添加mapper接口

数据持久层的接⼝定义。

(1)是Inteferce接口;

(2)接口上方加@Mapper注解;

(3)实现接口中的方法。

@Mapper
public interface UserMapper {
    //定义接口:查询数据库内容
    public abstract List<User> queryAll();

}

3、添加UserMapper.xml

数据持久成的实现,mybatis 的固定 xml 格式。同时写UserMapper.xml 查询所有⽤户的具体实现 SQL。

(1)<mapper>标签:需要指定 namespace 属性,表示命名空间,值为 mapper 接⼝的全限定名,包括全包名.类名。namespace下的是UserMapper,表示实现哪个接口
(2)模板文件,自定义sql语句,queryAll表示实现的是接口中的哪个方法。sql语句为查询就写select,写id和resultType,id是接口中的方法名,表示对接⼝的具体实现⽅法;resultType是返回结果的类型:表示返回的是一个User对象。<select>查询标签:是⽤来执⾏数据库的查询操作的。

<?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="demo1.mapper.UserMapper">
<!--表示实现的是demo1下的UserMapper接口-->
    <select id="queryAll" resultType="demo1.model.User">
    select * from userinfo
    </select>
<!--id是方法名,resultType是返回的结果:返回的是一个User对象-->
</mapper>

4、自行测试

(1)将光标定在接口定义UserMapper的{ }里面,右键generate选择test,勾选queryAll方法。加上@SpringBootTest注解;

(2)通过@Autowired将UserMapper注入进来;

(3)查询方法上加@Test注解。

@Slf4j
@SpringBootTest
class UserMapperTest {
    @Autowired
    private UserMapper userMapper;
    @Test
    void queryAll() {
        List<User> users = userMapper.queryAll();
        log.info(users.toString());
    }
}

点击测试方法上面的运行按钮,得到查询结果。 

【MyBatis 学习一】认识MyBatis && 第一个MyBatis查询,Spring学习,mybatis,学习,spring boot,后端,java,spring

测试通过之后,我们就可以将其应用到具体项目中了,继续下面的步骤。

5、添加 Service

服务层实现代码如下:

@Service
public class UserService {
    @Resource
    private UserMapper userMapper;
    public List<User> queryAll(){
        return userMapper.queryAll();
    }
}

6、添加Controller 

@RestController
@RequestMapping("/web")
public class UserController {
    @Resource
    private UserService userService;
    @RequestMapping("/queryAll")
    public List<User> queryAll(){
        return userService.queryAll();
    }
}

url测试通过。 

【MyBatis 学习一】认识MyBatis && 第一个MyBatis查询,Spring学习,mybatis,学习,spring boot,后端,java,spring


【MyBatis 学习一】认识MyBatis && 第一个MyBatis查询,Spring学习,mybatis,学习,spring boot,后端,java,spring

 希望自己能够更加淡定从容~说不定有一条生活也会给你一个很大的惊喜呢?😁文章来源地址https://www.toymoban.com/news/detail-606882.html

到了这里,关于【MyBatis 学习一】认识MyBatis && 第一个MyBatis查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • spring boot集成mybatis-plus——Mybatis Plus 多表联查(包含分页关联查询,图文讲解)...

     更新时间 2023-01-03 21:41:38 大家好,我是小哈。 本小节中,我们将学习如何通过 Mybatis Plus 实现 多表关联查询 ,以及 分页关联查询 。 本文以 查询用户所下订单 ,来演示 Mybatis Plus 的关联查询,数据库表除了前面小节中已经定义好的用户表外,再额外创建一张订单表,然后

    2024年02月01日
    浏览(72)
  • Spring Boot学习随笔- 集成JSP模板(配置视图解析器)、整合Mybatis(@MapperScan注解的使用)

    学习视频:【编程不良人】2021年SpringBoot最新最全教程 在main创建webapp,然后创建index.jsp进行测试,在访问之前需要进行一个设置,否则springboot是找不到jsp页面的 修改jsp无需重启应用 数据库访问框架:hibernate、jpa、mybatis【主流】 SpringBoot(微框架) = Spring(工厂) + SpringMV

    2024年02月05日
    浏览(35)
  • 【Spring Boot】数据库持久层框架MyBatis — Spring Boot构建MyBatis应用程序

    Spring Boot是用于快速构建Spring应用程序的框架。MyBatis是一种Java持久化框架,可以帮助开发人员轻松地管理数据库。将Spring Boot与MyBatis结合使用可以使开发人员更容易地创建和管理数据库应用程序。 以下是使用Spring Boot构建MyBatis应用程序的步骤: 添加MyBatis依赖项:在项目的

    2024年02月10日
    浏览(42)
  • Unresolved dependency: ‘org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:xxx‘

    pom.xml文件的依赖直接爆红的原因时, 本地Maven仓库中没有 或者 maven仓库中存在的版本与导入的版本号不相符 找到本地maven仓库,删除你要导入的依赖包,重新下载 找到本地maven仓库,对应的版本号添加 maven仓库的地址 导入本地仓库已经存在的版本号

    2024年01月25日
    浏览(33)
  • Spring Boot 整合 Mybatis

    导入依赖的时候,需要根据自己所使用的Spring Boot和MySQL的版本而定。 我这里使用的是MySQL数据库。 首先创建一个mybatis_learn的数据库。然后创建一个student的表。 对应的,要实现一个Java的实体类,来对应数据库的表。 创建如图结构的各个包和文件。 这个接口是对应Mybatis的

    2024年02月03日
    浏览(39)
  • Spring Boot整合MyBatis

    在开发中,通常会涉及到对数据库的数据进行操作,Spring Boot在简化项目开发以及实现自动化配置的基础上,对关系型数据库和非关系型数据库的访问操作都提供了非常好的整合支持。 Spring Boot默认采用整合SpringData的方式统一处理数据访问层,通过添加大量自动配置,引入各

    2024年02月06日
    浏览(35)
  • Spring Boot整和MyBatis!!!

    实现添加功能 实现查询功能 实现删除功能 实现修改功能 添加日期转换器                 2.2.1controller层代码:                 2.2.2实现service层代码:   实现类:                 2.2.3实现mapper层代码: 映射文件:                 3.2.1controller层

    2024年01月17日
    浏览(38)
  • 【Spring Boot整合MyBatis教程】

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成

    2024年02月15日
    浏览(52)
  • 实现Spring Boot集成MyBatis

    在Java开发中,Spring Boot和MyBatis是非常常用的框架。Spring Boot是一个快速开发应用程序的框架,而MyBatis是一个持久化框架,可以方便地操作数据库。本文将介绍如何使用Idea集成Spring Boot和MyBatis,并创建一个简单的示例项目。 步骤1:创建Spring Boot项目 1、打开Idea,点击\\\"Create N

    2024年02月09日
    浏览(32)
  • 【Spring Boot】Spring Boot结合MyBatis简单实现学生信息管理模块

    环境准备 JDK Spring Boot MyBatis 创建Spring Boot项目 使用Spring Initializr创建一个新的Spring Boot项目,并添加以下依赖: Spring Web MyBatis Framework MySQL Driver 数据库设计 在MySQL数据库中创建一个名为 studentdb 的数据库,并创建一个名为 students 的表,表结构如下:

    2024年02月11日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包