当前位置: 首页 > news >正文

【Java】使用IntelliJ IDEA搭建SSM(MyBatis-Plus)框架并连接MySQL数据库

步骤

  • 0 准备工作
  • 1 创建Maven项目
  • 2 配置Maven依赖
  • 3 配置数据源
  • 4 项目结构
  • 5 创建实体类
  • 6 创建数据访问层
  • 7 创建服务层
  • 8 创建Controller层
  • 9 启动项目
  • 10 使用Postman测试接口

0 准备工作

  1. 下载并安装 IntelliJ IDEA
  2. 下载并安装 MySQL 数据库
  3. 下载并安装Postman测试工具
  4. 使用 Navicat 创建一个 MySQL 数据库

1 创建Maven项目

  1. 打开 IntelliJ IDEA,选择 "File"→ “New” → “Project”。
  2. 选择"Maven"作为项目类型,并设置项目名称、项目位置。
  3. 设置Group Id和Artifact Id,点击"Create"创建项目。
    在这里插入图片描述

2 配置Maven依赖

在pom.xml文件中添加SpringBoot和MyBatis-Plus等的依赖:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><!-- 定义父项目,使用Spring Boot 的版本管理 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.17</version><relativePath/> <!-- lookup parent from repository --></parent><!-- 项目的基本信息 --><groupId>com.z</groupId><artifactId>MySSM</artifactId><version>0.0.1-SNAPSHOT</version><name>MySSM</name><description>MySSM</description><!-- 定义Java版本 --><properties><java.version>1.8</java.version></properties><dependencies><!-- Spring Boot Web Starter,包含了Spring MVC等 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- MyBatis Spring Boot Starter --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.3.1</version></dependency><!-- MySQL Connector Java --><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><!-- Lombok,简化Java代码 --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><!-- Spring Boot Starter Test --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- MyBatis-Plus Starter --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3</version></dependency><!-- Swagger Annotations --><dependency><groupId>io.swagger</groupId><artifactId>swagger-annotations</artifactId><version>1.5.22</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><image><builder>paketobuildpacks/builder-jammy-base:latest</builder></image><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>

使用Maven工具或IDEA的自动构建功能,下载依赖。

若出现如下错误:
在这里插入图片描述
那么点击Maven设置,选择Maven主路径为本地的Maven下载路径:
在这里插入图片描述
在这里插入图片描述

3 配置数据源

在application.yml文件中配置数据库连接等信息:

server:# 端口port: 8080spring:# 数据源配置datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/your_database_name?characterEncoding=utf-8username: your_usernamepassword: your_passwordjackson:time-zone: GMT+8date-format: yyyy-MM-dd HH:mm:ssmybatis-plus:# mapper文件映射路径mapper-locations: classpath*:mapper/*.xmlconfiguration:# 打印SQL语句log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

替换上面的示例中的your_database_nameyour_usernameyour_password为实际数据库中的信息和数据。

4 项目结构

项目结构如下图所示:
在这里插入图片描述

5 创建实体类

创建实体类(entity),例如Student.java:

package com.z.entity;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;import java.io.Serializable;@Data
@TableName("student")
public class Student implements Serializable {private static final long serialVersionUID = 1L;/**id*/@TableId(type = IdType.AUTO)@ApiModelProperty(value = "id")private Integer id;@ApiModelProperty(value = "姓名")private String name;@ApiModelProperty(value = "性别")private String sex;@ApiModelProperty(value = "年龄")private Integer age;@ApiModelProperty(value = "专业")private String major;
}

6 创建数据访问层

创建数据访问层(mapper),例如StudentMapper.java:

package com.z.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.z.entity.Student;
import org.apache.ibatis.annotations.Mapper;@Mapper
public interface StudentMapper extends BaseMapper<Student> {
}

创建对应的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.z.mapper.StudentMapper">
</mapper>

7 创建服务层

创建服务层(service)及其实现,例如StudentService.java:

Service层:

package com.z.service;import com.baomidou.mybatisplus.extension.service.IService;
import com.z.entity.Student;public interface StudentService extends IService<Student> {
}

Service实现层:

package com.z.service.impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.z.entity.Student;
import com.z.mapper.StudentMapper;
import com.z.service.StudentService;
import org.springframework.stereotype.Service;@Service
public class StudentServiceImpl extends ServiceImpl<StudentMapper, Student> implements StudentService {}

8 创建Controller层

创建Controller层,处理业务逻辑,例如StudentController.java(以返回数据列表为例):

package com.z.controller;import com.z.entity.Student;
import com.z.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;@RestController
@RequestMapping("/test")
public class StudentController {@Autowiredprivate StudentService studentService;@GetMapping("/list")public List<Student> listStudent() {return studentService.list();}
}

9 启动项目

编写Main.java运行项目,并通过IDEA的启动按钮启动项目:

package com.z;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class Main {public static void main(String[] args) {SpringApplication.run(Main.class, args);}
}

10 使用Postman测试接口

  1. 在MySQL数据库中新建一个数据表student,其中存放几条测试数据:
    在这里插入图片描述

  2. 打开Postman,新建一个Get请求,并输入对应Controller中的请求URL进行测试,测试结果如下:
    在这里插入图片描述
    前端界面可通过该接口展示数据表中的数据。

相关文章:

  • 【Git】修改提交信息(单次、批量)
  • ChatGPT等模型:到2026年,将消耗尽高质量训练数据
  • SQL数据迁移实战:从产品层级信息到AB测试表
  • 时序预测 | Python实现TCN时间卷积神经网络价格预测
  • 数据爬取+数据可视化实战_哪里只得我共你(Dear Jane)_词云展示----网易云
  • 关于电脑提示vcruntime140_1.dll无法继续执行代码的解决办法
  • MySQL在Docker容器中的性能损失分析与优化策略
  • 【技术分享】远程透传网关-单网口快速实现西门子S7-200 串口PLC程序远程上下载
  • 可观测性项目开发与学习ing
  • Golang数据类型(数字型)
  • 订单场景-基于Redisson实现订单号生成
  • 学习笔记-接口测试(postman、jmeter)
  • Windows核心编程 远程线程注入
  • [个人笔记] Linux的CLI笔录
  • 解释 RESTful API,以及如何使用它构建 web 应用程序
  • es的写入过程
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • Java基本数据类型之Number
  • mongodb--安装和初步使用教程
  • Service Worker
  • SpiderData 2019年2月23日 DApp数据排行榜
  • spring boot 整合mybatis 无法输出sql的问题
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 大快搜索数据爬虫技术实例安装教学篇
  • 代理模式
  • 动态规划入门(以爬楼梯为例)
  • 规范化安全开发 KOA 手脚架
  • 基于HAProxy的高性能缓存服务器nuster
  • 聚类分析——Kmeans
  • 如何利用MongoDB打造TOP榜小程序
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 为什么要用IPython/Jupyter?
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 项目管理碎碎念系列之一:干系人管理
  • 小程序测试方案初探
  • Nginx实现动静分离
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ###C语言程序设计-----C语言学习(3)#
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (26)4.7 字符函数和字符串函数
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (一)插入排序
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .NET 中让 Task 支持带超时的异步等待
  • /proc/stat文件详解(翻译)
  • @Transactional 竟也能解决分布式事务?
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell