【SSM框架】01-Mybatis入门


🔎这里是【SSM框架】,关注我学习Java不迷路
如果对你有帮助,给博主一个免费的点赞👍以示鼓励
欢迎各位🔎点赞👍评论收藏⭐️

👀专栏介绍
【SSM框架】 目前更新Mybatis、Spring系列预计会开10期,大家一起学习一起进步。

📢📢有写的不好或写错的地方还请大家多多评论指教哦

👀本期介绍
本期主要介绍Mybatis入门、配置文件&注解实现增删改查


1简介

MyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发使用户只关注于SQL的编写大大提高开发效率

2快速入门

2.1创建模块,导入坐标

创建普通maven工程,添加相应模块和类代码
在这里插入图片描述

添加对应坐标(mybatis版本随便挑选,mysql驱动根据自己版本而定)
在这里插入图片描述

2.2编写 MyBatis 核心配置文件

替换连接信息 解决硬编码问题
数据库配置:
在这里插入图片描述
mapper文件配置:

在这里插入图片描述

2.3编写 SQL 映射文件

统一管理sql语句,解决硬编码问题
在这里插入图片描述

2.4示例程序运行

在这里插入图片描述

3代理开发

在原始的dao层开发的时候,会出现大量的重复的代码,以及硬编码问题。在功能的实现过程中给定的参数类型以及返回值类型不够严谨。这是时候Mybatis提供了一种高效的开发方式,就是Mapper代理开发。通过Mapper代理将接口与映射文件进行关联,简化了开发过程,提高开发效率。
在这里插入图片描述

3.1定义Mapper接口

定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下
在这里插入图片描述

注意
resources下新建文件夹时要输入:“com/lengShuang/mapper”才是三级文件夹
如果输入:“com.lengShuang.mapper”
则会变为:"com.lengShuang.mapper"一个文件夹

3.2设置SQL映射文件

设置SQL映射文件的namespace属性为Mapper接口全限定名
在这里插入图片描述

3.3 在 Mapper 接口中定义方法

在 Mapper 接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持参数类型和返回值类型一致

在这里插入图片描述

3.4测试

在这里插入图片描述
完美运行
在这里插入图片描述

tips:
在这里插入图片描述

4核心配置文件

<typeAliases>
        <package name="com.lengShuang.pojo"/>
</typeAliases>

在这里插入图片描述

5配置文件增删改查

推荐一个好用的mybatis插件:
在这里插入图片描述

5.1三步开发

  1. 编写接口方法
    在这里插入图片描述

  2. 编写SQL
    在这里插入图片描述

  3. 执行方法
    在这里插入图片描述

5.2resultMap

问题导入:实体类属性名 和 数据库表列名 不一致,不能自动封装数据
在这里插入图片描述

解决方法

  1. 起别名
    在这里插入图片描述

  2. resultMap
    在这里插入图片描述
    可以看到第二种方法更好用写,以后开发我们用的也是第二种方法

5.3参数占位符

  1. #{}:执行SQL时,会将#{}占位符替换为?,将来自动设置参数值
  2. ${}:拼SQL。会存在SQL注入问题
  3. 使用时机:
    参数传递,都使用#{}
    如果要对表名、列名进行动态设置,只能使用${}进行sql拼接。
    在这里插入图片描述

6注解增删改查

在这里插入图片描述
eg
在这里插入图片描述

7动态SQL

SQL语句会随着用户的输入或外部条件的变化而变化,我们称为动态SQL

多条件模糊查询:
在这里插入图片描述

批量删除:
在这里插入图片描述

从多条件中删除一个:
在这里插入图片描述


总结

以上就是mybatis的基本操作了,大家看完后快动手去试试吧~
本人也会在几天后带来mybatisplus的使用操作

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值