java springboot整合MyBatis做数据库查询操作

本文介绍了如何在SpringBoot项目中集成MyBatis,包括创建项目、配置数据库连接、定义实体类和DAO接口,以及使用注解简化SQL操作。通过示例展示了如何获取数据库数据。
摘要由CSDN通过智能技术生成

首先 我们还是要搞清楚 MyBatis 工作中都需要那些东西

首先是基础配置 你要连哪里的数据 连什么类型的数据库 以什么权限去连
然后 以 注解还是xml方式去映射sql

好 我们直接上代码
我们先创建一个文件夹
在这里插入图片描述
然后打开idea 新建一个项目
在这里插入图片描述
然后 按我下图的操作配置一下 然后点下一步
在这里插入图片描述
这里 版本不要选太高 2.几就够了
在这里插入图片描述

下一步就是选依赖了
首先 肯定是 sql下找到MyBatis
在这里插入图片描述
然后 下面我们再勾一个 Mysql的驱动
在这里插入图片描述
我们这里 先不用spring Web
我们直接点 确定
我们的项目就起来了
在这里插入图片描述
打开项目目录 我们先找到 resources 下的 application.properties
在这里插入图片描述
然后 我们不要properties我们将他改成yml
在这里插入图片描述
然后名字后缀改一下
在这里插入图片描述
然后还是打开配置文件来看
在这里插入图片描述
可以看到 这就是我们 mybatis与springboot 整合的一个坐标
在这里插入图片描述
注意这里有两个规范
1 所以的 springboot 自带的都是 spring-boot-starter-某某
在这里插入图片描述
2 整合第三方技术 都是 第三方技术-spring-boot-starter
在这里插入图片描述
然后 很明显 这里就是数据库的一个JAR
在这里插入图片描述
这里很明显没有版本信息 因为版本由上面这里提供
在这里插入图片描述

好啦 然后我们要写一下基本配置 首先 告诉它我们要连的数据库

这里 我要连的是 本地 MYSQL 下的 test 数据库
在这里插入图片描述
我们回到刚才的 application.yml
java中操作数据库 有一个专门的对象
我们只需要在上面打出 datasou
后面对应的提示就都出来了
然后 我们选第一个 name即可
在这里插入图片描述
值这里 我们只要打个c 提示就都出来了 我们选择 com.mysql.jdbc.Driver
在这里插入图片描述
然后 第二个 url 它不知道
我们可以这样

url: jdbc:mysql://localhost:3306/数据库名称

这里一定要注意数据库的端口号不要写错了
在这里插入图片描述
然后 username 用户名 和 password 密码
因为我没有特殊设置 都是 root
在这里插入图片描述
我们的 application.yml 大体就是这样 大家可以参考一下

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test
    username: root
    password: root

然后 我们就还是 需要原本的操作数据库结构

然后 我们找到启动类的所在目录
在这里插入图片描述
我们在同目录下创建一个文件夹 叫 domain
在这里插入图片描述
下面创建一个类 叫 staff
然后 看到我们的 staff表
在这里插入图片描述

一个字符串 四个数字类型的字段
我们按这个来写staff类
参考代码如下

package com.example.textm.domain;

public class staff {
    private int id;
    private String name;
    private int age;
    private int status;
    private int departmentid;

    @Override
    public String toString(){
        return "staff{"+
                "id"+id+
                "namne"+name+
                "age"+age+
                "status"+status+
                "departmentid"+departmentid+
                "}";
    }

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }

    public int getStatus() {
        return status;
    }
    public void setStatus(int status) {
        this.status = status;
    }

    public int getDepartmentid() {
        return departmentid;
    }
    public void setDepartmentid(int departmentid) {
        this.departmentid = departmentid;
    }
}

我们简单定义了数据库名称类型 相同的变量 并定义了它们的get set函数

然后通过toString方法 输出类中的字段内容

好 然后我们的数据层就好了

再来个dao层
还是在这个目录下 创建一个 dao文件夹
在这里插入图片描述
下面创建一个接口 叫 staffDao
参考代码如下

package com.example.testarticle.dao;

import com.example.testarticle.domain.staff;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

@Mapper
public interface staffDao {
    @Select("select * from staff where id = #{id)")
    staff getById(Integer id);
}

这里 我们定义了一个抽象方法 根据id查询一个staff对象
这里 直接利用注解 可以直接在这里 就将 sql写了非常的方便

也不需要写实现类了 这就写完了 我们直接可以测试它了
我们直接打开测试类所在目录
在这里插入图片描述
编写代码如下

package com.example.textm;

import com.example.textm.dao.staffDao;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class TextMApplicationTests {

    @Autowired
    private staffDao staffDao;

    @Test
    void contextLoads() {
        System.out.println(staffDao.getById(1));
    }
}

这里 我们引入了 接口staffDao调用了我们自己写的getById
传1 查询id为1的一条数据

然后 我们运行代码
在这里插入图片描述
可以看到 我们的数据就被整合出来了

Spring Boot 整合 MyBatis 实现增加查询操作的过程包括以下几个步骤: 1. **添加依赖**:在你的 Maven 或者 Gradle 项目中,确保已经添加了 Spring BootMyBatis 的依赖。对于 Maven,可以在 `pom.xml` 中加入如下内容: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> </dependency> ``` 2. **配置数据源**:在 `application.properties` 或 `application.yml` 中配置数据库连接信息。 3. **创建实体类 (Entity)**:这是用于存储数据库数据Java 类,比如 User Entity。 4. **映射文件 (Mapper Interface)**:在 `mappers` 包下创建一个 Mapper 接口,声明查询方法,例如 `UserMapper.java`: ```java public interface UserMapper { @Select("SELECT * FROM user WHERE id = #{id}") User selectUserById(@Param("id") Long id); } ``` 5. **Mapper XML 文件**:创建对应的 Mapper XML 文件,编具体的 SQL 查询,如 `UserMapper.xml`: ```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.UserMapper"> <select id="selectUserById" resultType="com.example.demo.User"> SELECT * FROM user WHERE id = #{id} </select> </mapper> ``` 6. **注入 Mapper 到 Service**:在业务层的服务类(Service)中,通过 Autowired 注入 UserMapper 对象并使用它执行查询。 7. **Controller 层处理**:在 RESTful API 控制器里,使用 `@Autowired` 获取 Service 并调用其方法处理查询请求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值