Springboot中mybatis的使用

一.创建Springboot项目并加载依赖

1.利用IDEA创建SpringBoot项目,并勾选必须依赖,步骤如下(IDEA版本为2024版)

注意:

1.首先更换镜像源,否则加载配置环境比较慢,网上搜阿里的镜像源就行。

2.JDK的版本不应太高,并且和Java版本适配。

2.依赖添加

(1)SpringBoot版本选择

选择2.x版本就行,没必要选太高。

(2)选择如下几个依赖

spring web依赖。


SpringBoot DevTools依赖。


SQL的JDBC API和Mybatis Framework和Mysql Driver。

点击创建即可

3.Mysql数据源添加

新建一张表,准备些基本数据,例子如下

二.项目结构实例

**1.**把启动项名字改名为application.yml,yml格式的比较直观,并写下如下代码

复制代码
server:
  port: 8081       //端口号配置,如果冲突请自行更改
spring:
  #数据库连接配置
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver      //驱动
    url: jdbc:mysql://localhost:3306/schema_name          //数据库的基本信息
    username: root
    password: 123456

#mybatis的相关配置
mybatis:
  #mapper配置文件
  mapper-locations: classpath:mapper/*.xml          //mabits配置文件路径

2.在启动项DemoApplication的同级文件夹或者子文件夹下创建一个Student类,变量应和数据库的一 一对应,并建立get和set方法。按照图的项目结构创建,或者自己创建。

Student类代码

复制代码
package com.example.demo.entity;

public class Student {
    private int id;
    private String name;
    private int age;
    private String hobby;
    private String address;

    public Student(int id, String name, int age, String hobby, String address) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.hobby = hobby;
        this.address = address;
    }

    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 String getHobby() {
        return hobby;
    }

    public void setHobby(String hobby) {
        this.hobby = hobby;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

StudentController类代码

复制代码
package com.example.demo.controller;

import com.example.demo.entity.Student;
import com.example.demo.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

//@RestController会自动帮一个对象转换成json的格式
@RestController
public class StudentController {

    @Autowired
    private StudentService studentService;

    //@RequestMapping("/getstudent")的意思告诉前端相应的地址访问
    @RequestMapping("/getstudent")
    public List<Student> findAllStudent(){
        return studentService.findAllStudent();
    }

}



//大家可以启动项目后去postman/apifox测试一下接口,看是否正确

StudentMapper接口代码

复制代码
package com.example.demo.mapper;

import com.example.demo.entity.Student;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface StudentMapper {
    @Select("SELECT * FROM 表_name")
   public List<Student> findAll();
}

//这里只做简单示范

StudentService类代码

复制代码
package com.example.demo.service;

import com.example.demo.entity.Student;
import com.example.demo.mapper.StudentMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;


@Service
public class StudentService {


    @Autowired
    private StudentMapper studentMapper;


    public List<Student> findAllStudent() {
        return studentMapper.findAll();         //业务逻辑
    }
}

StudentMapper.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.mapper.StudentMapper"> //namespace后填写接口路径
    <select id="findAllStudent" resultType="com.example.demo.entity.Student">
        //id是该查询方法的名字  resultType后填写Student类的路径
        SELECT * FROM 表_name   //sql语句,以查询所有为例
    </select>
</mapper>

然后运行启动项,打开浏览器,输入localhost:8081/getstudent,即可看到数据库存储的信息(JSON格式)。

启动成功后可以去postman/apifox测试一下接口

postman官网:https://www.postman.com/

apifox官网:https://apifox.com/

相关推荐
武子康37 分钟前
ESP32 唤醒成功,离线命令为什么没有执行?
人工智能·后端·agent
挖掘狂人43 分钟前
SQL 注入:一行代码如何撬开整个数据库
后端·sql·数据分析
今年下半年1 小时前
【短信发送】Spring Boot整合多种短信接口的实现(附源码)
java·spring boot·后端·sms·qcloudsms
不爱吃鱼的蔓热莓1 小时前
Autosar之统计SWC中port、runnable、信号名等信息(三)
后端·restful
ly76891 小时前
PostgreSQL JSONB 在 Spring Boot 中的读写边界:从 JDBC 类型映射到 GIN 索引失效
spring boot·postgresql·gin·jsonb·pgjdbc·gin 索引
北城笑笑2 小时前
Server 18 ,Nginx 双服务器 HTTP转HTTPS 代理实战( HTTP 地址换 HTTPS 域名 )
运维·服务器·前端·后端·nginx·http·https
紫洋葱hh2 小时前
Go 入门基础:类型、变量与运算符
开发语言·后端·ai·golang
IT研究室2 小时前
最新计算机毕业设计选题推荐-基于spring boot的美食配送平台-网站-文档指导-Java-springboot
java·spring boot·课程设计
打工仔折腾 AI2 小时前
Qt网络编程实战:UDP、TCP到HTTP的落地经验与选型
网络·人工智能·后端·python·qt·udp·ai agent 实战
打工仔折腾 AI2 小时前
SQL 编辑器不是高级记事本:KStudio 与 KSQL Developer 的建表与增删改查手法
数据库·人工智能·后端·python·sql·编辑器·ai agent 实战