Mybatis

目录

一、Mybatis的介绍

二、搭建准备工作

三、实现示例

四、总结

一、Mybatis的介绍

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录。

Mybatis的核心特性:

1.简单易学

MyBatis 的设计理念是让开发者更专注于 SQL 本身,而不是花费大量时间在 JDBC 代码的编写上。它通过简单的配置文件或注解,将 SQL 语句与 Java 代码进行关联,使得开发者可以更加高效地进行数据库操作。例如,一个简单的查询操作,在 MyBatis 中只需要编写对应的 SQL 语句和映射关系,而不需要像传统 JDBC 那样繁琐地处理连接、语句执行和结果集获取等操作。

2、灵活

  • SQL 灵活MyBatis 允许开发者直接编写 SQL 语句,可以根据实际业务需求进行灵活的优化和调整。与一些 ORM 框架相比,它不会对 SQL 进行过多的封装和限制,使得开发者能够充分发挥 SQL 的强大功能。
  • 映射灵活提供了多种映射方式,包括一对一、一对多、多对多等复杂关系的映射。开发者可以根据实际的数据模型选择合适的映射方式,方便地将数据库中的数据映射到 Java 对象中。

3、提供 XML 标签,支持编写动态 SQL

 MyBatis 支持在 XML 配置文件中编写动态 SQL,可以根据不同的条件动态生成 SQL 语句。例如,可以使用 <if><choose><when><otherwise><where><set><foreach> 等标签来实现条件查询、批量操作等动态 SQL 功能。

二、搭建准备工作

准备工作

1.创建Springboot工程

导入 mybatis的起步依赖、mysql的驱动包(初次使用,下载依赖时间会有些长,不要着急;如果下载好依然无法打开,请重启Idea)
项目创建完成后,会自动在pom.xml文件中,导入 Mybatis依赖MySQL驱动依赖
Mybatis依赖:
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>3.0.3</version>
</dependency>
MySQL驱动依赖:
<dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
        <scope>runtime</scope>
    </dependency>

数据准备

创建数据库表
利用Navicat Premium创建一个数据库,实例如下:
找到连接,选择Mysql

任意输入连接名,主机填自己电脑IP地址(在设置网络和Internet,Wlan硬件属备中),密码为自己设置的Mysql密码 ,最后测试连接,若连接错误服务器上面安装的mysql数据库在本地连接的时候报错:is not allowed to connect to this MySQL server,参照mysql数据库连接报错:is not allowed to connect to this mysql server_鱼大虾的博客-优快云博客

创建数据库,测试连接后打开它,右键新建数据库 ,数据库名localhost,并在表中加载数据,

如果没有出现数据,点击项目localhost关闭连接,再点打开连接,刷新数据

配置Mybatis

连接MySQL数据库时,需要配置:
连接数据库的四大参数:
  • MySQL驱动类
  • 登录名
  • 密码
  • 数据库连接字符串

在springboot项目中,可以编写application.properties文件,配置数据库连接信息。我们要连接数据库,就需要配置数据库连接的基本信息,包括:driver-class-name、url 、username,password。
打开创建项目下的application.properties,然后进行配置;

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis
spring.datasource.username=root
spring.datasource.password=1234

编写SQL语句

在创建出来的springboot工程中,在引导类所在包下,在创建一个包 mapper。在mapper包下创建一个接口 UserMapper ,这是一个持久层接口(Mybatis的持久层接口规范一般都叫 XxxMapper)。代码如下:
import com.itheima.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
 
@Mapper
public interface UserMapper {
    
    //查询所有用户数据
    @Select("select id, name, age, gender, phone from user")
    public List<User> list();
    
}

 单元测试

在创建出来的SpringBoot工程中,在src下的test目录下,已经自动帮我们创建好了测试类
测试类代码如下:
@SpringBootTest
public class MybatisQuickstartApplicationTests {
    
    @Autowired
    private UserMapper userMapper;
    
    @Test
    public void testList(){
        List<User> userList = userMapper.list();
        for (User user : userList) {
            System.out.println(user);
        }
    }
}

三、实现案例

实施前的准备工作:
1、准备数据库表
2、创建一个新的springboot工程,选择引入对应的起步依赖(mybatis、mysql驱动、lombok)
3、application.properties中引入数据库连接信息
4、创建对应的实体类 
5、准备Mapper接口 EmpMapper
6、实现删除功能
删除功能实例如下:
测试
@SpringBootTest
class SpringbootMybatisCrudApplicationTests {
    @Autowired
    private EmpMapper empMapper;
    @Test
    public void testDel() {
        // 调用删除方法
        empMapper.delete(1);
    }
删除之前

删除之后

四、总结

MyBatis 是一款强大且灵活的持久层框架,通过简单配置或注解即可将 SQL 与 Java 代码结合,避免繁琐的 JDBC 操作。其核心特性包括:简单易学(专注 SQL 本身)、灵活(支持自定义 SQL 和多种映射关系)及动态 SQL(通过 XML 标签实现条件逻辑)。搭建时需创建 Spring Boot 工程,引入 MyBatis 和 MySQL 依赖,配置数据库连接参数,并编写 Mapper 接口与 SQL。实现示例中,通过 EmpMapper 完成数据删除功能,验证了 MyBatis 的高效性。整体流程清晰,适合快速开发数据库交互应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值