JavaWeb后端——Mybatis

概述

Mybatis:Java程序来对数据库进行操作,一款优秀的持久层框架,用于简化JDBC的开发

SSM:SpringMVC、Spring、Mybatis

 

快速入门 

步骤2:注意数据库连接的四要素

application.properties:springboot 的默认文件,配置:key = value

Mybatis 中定义 SQL 语句:

① 基于注解定义

② 基于 XML 定义

1. 2 步骤:对于一个项目来说,只需要操作一次就可以了

③:在 Mybatis 的操作中,只需要定义这个 Mapper 接口即可,不需要定义实现类,框架底层会自动生成实现类对象

mysql 加注释:-- + 空格

alt + Fn + insert:快速生成

注解的作用是?给机器看的注释,完了它能给点对应的反应

什么是IOC容器的 bean ?不知道

什么是依赖注入DI?不知道

1.准备工作

2.引入Mybatis 相关依赖,配置Mybatis

3.编写SQL语句(注解/XML)

 4.单元测试

lombook工具包

Lombok通过在Java编译器中的插件实现其功能。在代码编译期间,Lombok会自动根据注解所指定的信息在Java类中生成相应的方法,从而简化了Java代码的编写。在开发Spring Boot应用程序时,Lombok可以用来减少代码的重复性,提高开发效率。

例如,使用@Data注解,可以自动生成Java类的Getter、Setter、toString、equals、hashCode等方法。这样就可以大大减少代码的编写量,提高代码的可读性和可维护性。

例如,在一个POJO类中,如果使用@Data注解,就可以省略掉手动编写Getter、Setter方法的过程,只需要声明类的属性即可,如下所示:

尚硅谷/狂神MyBatis

MyBatis常用对象SqlSessionFactory和SqlSession介绍和运用_sqlsessionfactorybean 详解-CSDN博客

MyBatis:1.核心配置文件 2.映射文件

创建 java 工程或 web 工程需要有输出目录,但创建 maven 工程不需要

Mapper 映射文件:Mapper映射文件通常指的是MyBatis框架中用于描述SQL语句与Java方法之间映射关系的XML文件。MyBatis是一种持久层框架,它可以将Java方法与数据库操作进行映射,提供了方便的数据访问方式。

一个典型的Mapper映射文件包含了多个SQL语句的定义,每个SQL语句对应一个Java方法,通过Mapper接口与SQL语句建立映射关系。在使用MyBatis时,开发人员需要编写Mapper映射文件来描述数据库操作,然后通过MyBatis框架加载和解析这些映射文件,实现Java方法与数据库操作之间的映射关系。

测试类中固定代码部分:

测试类添加代码后:

#{ }:参数占位符

SqlSessionFactory用于创建和管理SqlSession对象,而SqlSession用于执行具体的数据库操作。它们是MyBatis框架中非常重要的两个接口,协同工作以实现数据库访问和操作。

测试

⭐ JDBC 和 Mybatis 中的增删改都需要提交事务!⭐

@Test注解是JUnit框架中的一个重要注解,用于标记测试方法。通过使用@Test注解,我们可以方便地定义和执行单元测试,确保代码的质量和正确性。

MyBatis 的核心:

UserMapper.xml:

配置文件:

namespace:绑定一个对应的 Dao/Mapper 接口

xml 标签:

resultType:返回的结果类型

resultMap:返回结果集

类型如果是 类,要连包带类一起写

测试类

SqlSession:相当于连接

UserDao userdao = sqlsession.getMapper(UserDao.class):相当于获得可对该 sql 操作的对象

maven 中经常遇到的问题:资源过滤 

2、第一个Mybatis程序_哔哩哔哩_bilibili

0:55:0 

配置信息

mybatis核心配置文件

sqlSession :相当于 jdbc 中的 preparedStatement

写工具类:得到SqlsessionFactory/Sqlsession

在使用 Spring Boot 时,通常不需要显式地配置 SqlSessionFactory 和 SqlSession。Spring Boot 提供了自动配置机制,可以根据依赖和配置,自动创建这些对象并将其注入到应用程序中。

Spring Boot 会根据配置和代码,自动创建并管理 SqlSessionFactory 和 SqlSession。可以直接在 Service 层使用 SqlSession,并且不需要手动关闭它。

写实体类:POJO

写接口,写方法

写 Mapper 配置文件

1. 去官网复制粘贴配置头

2. 通过 namespace 绑定要实现的 Mapper 接口和 Mapper配置文件

写测试类

测试类中的结构和接口中的结构最好一一对应

1. 获得sqlsession

2. 

绑定异常报错:

解决方法:

全局xml配置文件:

配置完成后出现错误2:

问题出现原因:maven出现资源过滤

解决方法:

在 POM.xml 文件中写 build

<!--    在build中配置resources , 来防止我们资源导出失败的问题-->
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>

黑马 Mybatis

  • 8
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值