news 2026/6/10 16:14:59

IDEA搭建SpringBoot,MyBatis,Mysql工程项目

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IDEA搭建SpringBoot,MyBatis,Mysql工程项目

目录

一、前言

二、项目结构

三、初始化项目

四、SpringBoot项目集成Mybatis编写接口

五、代码仓库


一、前言

构建一个基于Spring Boot框架的现代化Web应用程序,以满足[公司/组织名称]对于[业务需求描述]的需求。通过利用Spring Boot简化企业级应用开发的优势,实现一个高效、可扩展且易于维护的应用系统。

  • 提高效率:通过集成微服务架构模式,减少系统的复杂度,并加速开发周期。
  • 增强用户体验:提供一个响应迅速、界面友好且功能齐全的用户交互平台。
  • 确保数据安全:实施严格的数据保护措施,保障用户信息安全。
  • 支持跨平台访问:设计RESTful API接口,确保应用程序可以在多种设备上无缝运行。

二、项目结构

项目遵循Maven标准目录布局,主要分为以下几个模块:

  • core:包含业务逻辑层代码。

  • exception:包含各个异常捕捉类。

  • mapper:定义了数据访问对象,用于与数据库交互。

  • service:提供了对外的服务接口。

  • entity:项目实体类

  • controller:处理HTTP请求并调用相应的服务方法。

  • config:存放所有配置文件。

  • test:单元测试及集成测试代码。

  • common:公共类,统一包装。

三、初始化项目

点击新建项目

根据以下图片创建

选择框架依赖

设置文件编码统一为UTF-8

检查Maven构建项目的目录

以下pom.xml文件已经加载,如果没有出现xml文件则需右键点击构建Maven项目即可

application配置文件,因为框架中选择了数据库,使用需要配置数据库,mybatis依赖在后续集成时,可添加以下配置。

# 应用服务 WEB 访问端口 server: port: 9090 #数据库配置 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver username: root password: 123456//(本机数据库密码) url: jdbc:mysql://localhost:3306/userdb//(本机数据库) //#mybatis依赖 //# mybatis: //# MyBatis Configuration确保在 application.properties 或 application.yml 文件中指定了正确的映射文件路径 // mapper-locations: classpath:mapper/*.xml // configuration: // log-impl: org.apache.ibatis.logging.stdout.StdOutImpl // map-underscore-to-camel-case: true

到此项目配置成功!

四、SpringBoot项目集成Mybatis编写接口

接下来我们将实现一个简单的用户列表获取接口,以下是具体的分层结构

Result类

package com.example.springboot.common; //统一设置包装类,返回数据的类型 public class Result { private Integer code; // 状态码 private String message; // 消息 private Object data; // 数据 // 默认成功的构造方法 // 成功但没有数据时的静态方法 public static Result success() { Result result =new Result(); result.setCode(200); result.setMessage("请求成功"); return result; } public static Result success(Object data) { Result result =success(); result.setData(data); return result; } // 静态方法用于快速构建结果对象 public static Result error() { Result result =new Result(); result.setCode(500); result.setMessage("请求成功"); return result; } // Getters and Setters public Integer getCode() { return code; } public void setCode(Integer code) { this.code = code; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public Object getData() { return data; } public void setData(Object data) { this.data = data; } // 打印结果对象信息的方法(可选) @Override public String toString() { return "Result{" + "code=" + code + ", message='" + message + ''' + ", data=" + (data != null ? data.toString() : "null") + '}'; } }

UserController控制层提供访问接口localhost:9090/user/selectAll

package com.example.springboot.controller; import com.example.springboot.common.Result; import com.example.springboot.service.UserService; import com.example.springboot.entity.user; import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController @RequestMapping("/user") public class UserController { @Resource private UserService userservice; //查询所有用户 @GetMapping("/selectAll") public Result selectAll(){ List<user>list=userservice.selectAll(); return Result.success(list); } }

User类实体类,需要对应相应数据库

package com.example.springboot.entity; import org.apache.ibatis.annotations.Mapper; //entity包里面装着实体类 public class user { private String userID; private String userName; private String userPassword; private Integer userAge; public String getUserID() { return userID; } public void setUserID(String userID) { this.userID = userID; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserPassword() { return userPassword; } public void setUserPassword(String userPassword) { this.userPassword = userPassword; } public Integer getUserAge() { return userAge; } public void setUserAge(Integer userAge) { this.userAge = userAge; } }

UserMapper接口连接数据库操作,在对应的Mybastis映射文件下,上文中的application配置文件中的路径一致,添加UserMapper.xml文件

package com.example.springboot.mapper; import com.example.springboot.entity.user; import java.util.List; //数据库userBean层 public interface UserMapper { List<user> selectAll(); }

安装插件MyBatisX可快速查看映射方法

userMapper.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.springboot.mapper.UserMapper"> <!-- SQL 映射语句将在此处定义 --> <select id="selectAll" resultType="com.example.springboot.entity.user"> SELECT * FROM user_list </select> </mapper>

UserService类,提供项目业务逻辑层

package com.example.springboot.service; import com.example.springboot.mapper.UserMapper; import com.example.springboot.entity.user; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import java.util.List; //业务逻辑层 @Service public class UserService { @Resource private UserMapper userMapper; public List<user> selectAll() { List<user> list = userMapper.selectAll(); return list; } }

在启动文件中添加扫描路径

@MapperScan("com.example.springboot.mapper")

点击运行即可!欢迎大家一起学习讨论,批评指正~

五、代码仓库

具体代码仓库

200K/SpringBoot[这里是图片020]https://gitee.com/tanzero/spring-boot.git

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 9:26:45

Java进阶-思维导图

文章目录 一、Static、继承、权限修饰符二、final、抽象类、接口三、多态、内部类、枚举四、常用API、时间API、正则表达式五、数据结构、LIST集合、可变参数、泛型六、set集合、迭代器、增强for七、map、排序&查找八、异常、多线程九、多线程续、JDK1.8新特性十、File、递…

作者头像 李华
网站建设 2026/6/10 9:39:07

Java实战:Spring Boot实现WebSocket实时通信

本文将详细介绍如何在Spring Boot应用程序中实现WebSocket实时通信。我们将探讨WebSocket的基本概念&#xff0c;以及如何使用Spring Boot和Spring WebSocket模块来实现WebSocket服务器和客户端。此外&#xff0c;我们将通过具体的示例来展示如何在Spring Boot应用程序中配置和…

作者头像 李华
网站建设 2026/6/10 9:38:44

Java框架SpringBoot(一)

一、Spring的优缺点 优点 开源,轻量级,非侵入式的一站式框架,简化企业级应用开发。 控制反转(IOC),依赖注入(DI)降低了组件之间的耦合性&#xff0c;实现了软件各层之间 的解耦。 面向切面(AOP)&#xff0c;利用它可以很容易实现一些拦截&#xff0c;如事务控制等。 spring 对于…

作者头像 李华
网站建设 2026/6/10 11:14:31

JavaScript 调试

JavaScript 调试 引言 JavaScript 作为 Web 开发中的核心语言,其调试能力直接影响到开发效率和代码质量。本文将详细介绍 JavaScript 调试的基本概念、常用调试工具、调试技巧以及最佳实践,帮助开发者更好地掌握 JavaScript 调试技术。 调试的基本概念 什么是调试? 调试…

作者头像 李华
网站建设 2026/6/10 11:12:15

[数字信号处理-入门] 滤波器设计

[数字信号处理-入门] 滤波器设计 个人导航 知乎&#xff1a;https://www.zhihu.com/people/byzh_rc CSDN&#xff1a;https://blog.csdn.net/qq_54636039 注&#xff1a;本文仅对所述内容做了框架性引导&#xff0c;具体细节可查询其余相关资料or源码 参考文章&#xff1a…

作者头像 李华
网站建设 2026/6/10 11:10:56

国内旅游景点的数据爬虫与可视化分析计算机毕业设计项目源码+毕业论文+打包ppt+代码软件修改工具

博主介绍&#xff1a; CSDN毕设辅导第一人、靠谱第一人、csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客优秀创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;…

作者头像 李华