Springboot项目本地连接并操作MySQL数据库

目录

前提

准备工作

用cmd在本地创建数据库、表:

1.创建springboot项目(已有可跳过)

2.编辑Mybatis配置

3.连接数据库

4.创建模型类,用于与数据库里的数据表相连

5.创建接口mapper,定义对数据库的操作

6.创建controller类,来处理前端发送的请求

7.创建xml配置文件,编写SQL映射语句

前提

1.已有springboot项目,安装有jdk(17版本以上)、MySQL

2.下载navicat软件用于编辑数据库(也可以是其他类似软件)

3.下载apifox软件用于创建接口并测试连接(按需求选择)

准备工作

用cmd在本地创建数据库、表:

  1. 登录到MySQL:mysql -u 用户名 -p
  2. 使用CREATE DATABASE语句来创建一个新的数据库,例如,要创建一个名为my_database的数据库:CREATE DATABASE my_database
  3. 在创建表之前,你需要先选择你刚刚创建的数据库,使用USE语句来选择数据库:USE my_database;
  4. 使用CREATE TABLE语句来定义表的结构,例如,要创建一个简单的用户表,你可以执行:

CREATE TABLE users (

id INT AUTO_INCREMENT PRIMARY KEY,

username VARCHAR(255) NOT NULL,

email VARCHAR(255) NOT NULL,

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

);

这个命令创建了一个名为users的表,它包含四个字段:id(自增主键)、username(非空字符串)、email(非空字符串)和created_at(时间戳,默认为当前时间)。

1.创建springboot项目(已有可跳过)

项目结构:

2.编辑Mybatis配置

xml配置文件用于创建编辑数据库的基础命令,向数据表插入数据、更新数据、删除数据等,注意名字要相对应。Java文件声明数据库编辑方法,如搜索账户是否存在

3.连接数据库

1)打开navicat,点击"文件"-> "新建连接"->"MySQL",或者直接点击下面的"连接"->"MySQL",输入本地创建的数据库名称,用户名(默认为root),密码,端口(默认3306)

连接成功后会显示本地的数据库,点击"文件"->"新建"->"表"创建数据表,双击表可查看数据表内容。

2)springboot项目连接数据库:

  • Username:用户名
  • Password:密码
  • url:数据库路由,格式一般为"jdbc:mysql://localhost:3306/******(数据表名称)useUnicode=true&characterEncoding=utf8&useSSL=false"
  • driver-class-name:驱动java数据库连接程序(指JDBC,项目通过jdbc api与数据库进行交互)

4.创建模型类,用于与数据库里的数据表相连

  • @TableName("数据表名"):连接的数据表表名
  • @Entity:将java标记为实体类,从而允许这些类映射到数据库中的表
  • @Id:JPA(Java Persistence API)规范中的注解,标识实体类中的主键字段
  • @TableId:MyBatis-Plus 框架中的注解,用于标识实体类的主键字段

注意:@Id和@TableId二者作用相同,按项目所包含依赖选择其一即可

右键->"生成"->"构造函数"setter和getter

5.创建接口mapper,定义对数据库的操作

6.创建controller类,来处理前端发送的请求

  • @CrossOrigin(origin="*"):允许所有来源访问该url,解决本地访问跨域问题
  • @RestController:@Controller和@ResponseBody的组合,它告诉Spring这个类是一个控制器(Controller),并且所有的方法返回的内容都直接写入HTTP响应体中,而不是解析为跳转路径,这通常用于RESTful Web服务,其中返回的数据是JSON或XML等格式。
  • @RequestMapping("/api/***"):用于将HTTP请求映射到特定的处理器方法或处理器类上
  • @Autowired:用于自动装配Spring容器中的bean, 当Spring发现@Autowired注解时,它会尝试查找匹配的bean来注入到被注解的字段、构造函数参数或setter方法的参数中。如果找到多个匹配的bean,并且没有指定哪个bean应该被注入,那么将会抛出一个异常。如果找不到匹配的bean,并且该字段是可选的(即,它是null可以接受的类型,比如接口或接口的实现类的字段),那么它将不会被注入,而是保持为null。
  • @GetMapping:定义请求方式为Get方法(也可以是post方法PostMapping)

7.创建xml配置文件,编写SQL映射语句

id:映射方法名

namespace:命名空间,指向mapper包里面的相同名字的java文件

UserMapper.java:

  • @Mapper指明是一个mapper接口
  • public interface UserMapper extends BaseMapper:UserMapper接口继承自BaseMapper,这意味着它自动拥有了BaseMapper中定义的所有方法,这些方法都是针对UserInfo类型的数据进行操作的。这大大减少了编写重复性代码的需要。
  • 定义了一些自定义的方法,如selectByAccount、existsByAccount、insertUserToken等
相关推荐
努力努力再努力wz16 分钟前
【高性能网络库与HTTP Server系列】:基于主从 Reactor 模型实现高性能 C++ 网络库与 HTTP Server
开发语言·网络·数据结构·数据库·c++·网络协议·http
HackTwoHub29 分钟前
某单位 CMS 完整渗透链、SQL 注入→后台拿权→绕过宝塔 Waf 上线 shell
数据库·人工智能·sql·安全·网络安全·系统安全·安全架构
宠友信息1 小时前
Redis 内容社区源码架构优化与即时通讯数据一致性处理
spring boot·后端·websocket·mysql·uni-app
Elastic 中国社区官方博客1 小时前
使用 Elasticsearch 作为 Grafana 的直接替代 Prometheus 后端
大数据·数据库·sql·elasticsearch·搜索引擎·grafana·prometheus
杨婷1231 小时前
2026 企业微信会话存档服务商选型指南:一维助手方案深度解析
大数据·数据库·企业微信
霸道流氓气质1 小时前
Kiro 配置 MySQL MCP Server 通用教程
数据库·mysql·adb·mcp·kiro
hdsoft_huge1 小时前
SpringBoot系列06:RESTful接口开发,请求参数接收、全局跨域CORS完整配置
java·spring boot
2601_963771371 小时前
Optimizing Logistics and Transportation Sites on WordPress
前端·数据库·windows·php
AC赳赳老秦2 小时前
采购专员自动化:OpenClaw 自动比价、生成询价单、跟踪供应商报价进度实战指南
开发语言·数据库·人工智能·python·自动化·github·openclaw
蚁库2 小时前
Oracle 11g RAC 多路径配置总搞不定?iSCSI + Multipath + ASM 磁盘组,14节视频带你完整通关
数据库·oracle