Springboot中mybatis的使用

embedded/2024/11/14 12:40:16/

                                         一.创建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: rootpassword: 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 {@Autowiredprivate StudentService studentService;//@RequestMapping("/getstudent")的意思告诉前端相应的地址访问@RequestMapping("/getstudent")public List<Student> findAllStudent(){return studentService.findAllStudent();}}

 StudentMapper接口代码

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

 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 {@Autowiredprivate StudentMapper studentMapper;public List<Student> findAllStudent() {return studentMapper.findAllStudent();         //业务逻辑}
}

 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格式)。


http://www.ppmy.cn/embedded/112463.html

相关文章

Vue 也能这样玩?Vuetify 打造超强大的UI体验

Vue 也能这样玩&#xff1f;Vuetify 打造超强大的UI体验&#xff01; 在前端开发的世界里&#xff0c;选择一个合适的 UI 组件库就像选择一把趁手的兵器。Vuetify 作为一款基于 Vue 的 Material Design 组件库&#xff0c;凭借其强大的功能和活跃的社区&#xff0c;已经成为了无…

速盾:你知道高防 IP 和高防 CDN 的区别吗?

在当今网络安全形势日益严峻的情况下&#xff0c;网站的安全防护成为了企业和个人关注的焦点。高防 IP 和高防 CDN 作为两种常见的网络安全防护手段&#xff0c;被广泛应用于网站的安全防护中。那么&#xff0c;高防 IP 和高防 CDN 有什么区别呢&#xff1f;防护网站哪个更好呢…

XShell快速连接虚拟机(Ubuntu系统)

目录 前言 一 (XShell)(虚拟机 )(Ubuntu)下载 二 虚拟机的ip查找 三 虚拟机中安装连接环境 四 开启ssh-server服务 五 验证是Ubuntu是否开启ssh-server服务 六 连接XShell软件 前言 对于刚开始探索 Linux 世界的新手来说&#xff0c;拥有一台自己的服务器可能并不现实。幸运的…

Java 入门指南:JVM(Java虚拟机)——类的生命周期与加载过程

文章目录 类的生命周期类加载过程1&#xff09;载入&#xff08;Loading&#xff09;2&#xff09;验证&#xff08;Verification&#xff09;文件格式验证符号引用验证 3&#xff09;准备&#xff08;Preparation&#xff09;4&#xff09;解析&#xff08;Resolution&#xf…

【Chrome】开发一个Chrome扩展以及常见问题的解决方案

前言 本文介绍开发chrome扩展很重要的几种操作&#xff0c;如&#xff1a;操作网页dom、发送请求、渲染弹层、不同沙盒环境的通信方式、扩展与网页的通信方式、遇到iframe时的操作等。最终会提供一个简单的案例&#xff0c;其中涵盖了上述操作。 还有一些本人相关文章&#x…

Selenium元素定位:深入探索与实践

目录 一、引言 二、Selenium元素定位基础 1. WebDriver与元素定位 2. 定位策略概览 三、ID定位 1. 特点与优势 2. 示例代码 四、Class Name定位 1. 特点与限制 2. 示例代码 五、XPath定位 1. 特点与优势 2. 示例代码 3. XPath高级用法 六、CSS Selector定位 1.…

Python编程 - 异常处理与文件读写

目录 前言 一、异常处理 &#xff08;一&#xff09;关键字 &#xff08;二&#xff09;捕获多个异常 &#xff08;三&#xff09;自定义异常 &#xff08;四&#xff09;抛出异常 &#xff08;五&#xff09;总结 二、文件读写 &#xff08;一&#xff09;打开文件 &…

RabbitMQ生产者重复机制与确认机制

重复机制 生产者发送消息时&#xff0c;出现了网络故障&#xff0c;导致与MQ的连接中断。 为了解决这个问题&#xff0c;SpringAMQP提供的消息发送时的重试机制。即&#xff1a;当RabbitTemplate与MQ连接超时后&#xff0c;多次重试。 需要修该发送端模块的application.yaml…