首页 > 其他分享 >基于Spring Boot的MyBatis整合示例:构建简单的用户管理系统

基于Spring Boot的MyBatis整合示例:构建简单的用户管理系统

时间:2024-06-23 16:03:42浏览次数:3  
标签:java 示例 Spring Boot public demo import com example

目录

1. 创建一个新的Spring Boot项目

2. 添加必要的依赖

3. 配置数据库连接

4. 创建实体类

5. 创建Mapper接口

6. 创建Mapper XML文件

7. 创建Service类

8. 创建Controller类

9. 启动应用程序

10. 测试



在当今的软件开发中,Spring Boot和MyBatis作为两个流行的Java框架,常常被开发者们用来构建稳健且高效的应用程序。本文将带领你逐步实现一个简单的用户管理系统,展示如何利用Spring Boot和MyBatis的强大功能,快速地实现数据持久化和业务逻辑管理。

1. 创建一个新的Spring Boot项目

首先,你可以使用Spring Initializr来创建一个新的Spring Boot项目。选择以下依赖:

  • Spring Web
  • MySQL Driver
  • MyBatis Framework

2. 添加必要的依赖

pom.xml中添加以下依赖:

<dependencies>
    <!-- Spring Boot Starter for MyBatis -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.2.0</version>
    </dependency>

    <!-- MySQL Driver -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>

    <!-- Spring Boot Starter Web -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

3. 配置数据库连接

src/main/resources/application.properties文件中配置数据库连接信息:

# 数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root

# MyBatis配置
mybatis.mapper-locations=classpath:mapper/*.xml

4. 创建实体类

src/main/java/com/example/demo/model/User.java中创建一个实体类:

package com.example.demo.model;

public class User {
    private Long id;
    private String username;
    private String email;

    // Getters and Setters
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

5. 创建Mapper接口

src/main/java/com/example/demo/mapper/UserMapper.java中创建一个Mapper接口:

package com.example.demo.mapper;

import com.example.demo.model.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface UserMapper {
    @Select("SELECT * FROM users")
    List<User> getAllUsers();
}

6. 创建Mapper XML文件

src/main/resources/mapper/UserMapper.xml中创建一个Mapper 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.UserMapper">
    <resultMap id="BaseResultMap" type="com.example.demo.model.User">
        <id column="id" property="id" jdbcType="BIGINT"/>
        <result column="username" property="username" jdbcType="VARCHAR"/>
        <result column="email" property="email" jdbcType="VARCHAR"/>
    </resultMap>

    <select id="getAllUsers" resultMap="BaseResultMap">
        SELECT * FROM users
    </select>
</mapper>

7. 创建Service类

src/main/java/com/example/demo/service/UserService.java中创建一个Service类:

package com.example.demo.service;

import com.example.demo.mapper.UserMapper;
import com.example.demo.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService {

    @Autowired
    private UserMapper userMapper;

    public List<User> getAllUsers() {
        return userMapper.getAllUsers();
    }
}

8. 创建Controller类

src/main/java/com/example/demo/controller/UserController.java中创建一个Controller类

package com.example.demo.controller;

import com.example.demo.model.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
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("/users")
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping
    public List<User> getAllUsers() {
        return userService.getAllUsers();
    }
}

9. 启动应用程序

src/main/java/com/example/demo/DemoApplication.java中运行Spring Boot应用程序:

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

10. 测试

启动应用程序后,访问http://localhost:8080/users,你应该会看到从数据库中检索到的用户列表。

这就是一个完整的Spring Boot与MyBatis整合的示例。你可以根据需要扩展这个基础示例,添加更多功能和复杂的查询逻辑。

标签:java,示例,Spring,Boot,public,demo,import,com,example
From: https://blog.csdn.net/apakmsls/article/details/139891218

相关文章

  • 对于spring cloud的了解到入门
    一、SpringCloud介绍1.概念:Springcloud是一系列框架的有序集合。它利用springboot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用springboot的开发风格做到一键启动和部署。2.优缺点(主......
  • SpringBoot发送邮件
    SpringBoot集成邮件服务本文将介绍如何使用SpringBoot集成QQ邮箱的邮件服务,实现Java发送邮件功能。开启邮件服务以QQ邮箱为例,首先需要开启SMTP服务。第一步首页点击设置第二步点击账号第三步下滑找到SMTP相关文件服务,获取验证码第四步复制获取到的授权......
  • SpringBoot使用spring.factories加载默认配置
    在日常开发过程中,发布一些产品或者框架时,会遇到某些功能需要一些配置才能正常运行,这时我们需要的提供默认配置项,同时用户也能覆盖进行个性化创建InitializerpublicclassFrameContextInitializerimplementsApplicationContextInitializer{@Overridepublicvoid......
  • 任务调度SpringTask入门
    任务调度简介1.1什么是任务调度在企业级应用中,经常会制定一些“计划任务”,即在某个时间点做某件事情,核心是以时间为关注点,即在一个特定的时间点,系统执行指定的一个操作。常见的任务调度框架有Quartz和SpringTask等。SpringTask入门1.2SpringTask入门小Demo创建模块52xbc-......
  • SpringMVC类型转换Converter使用
    Converter接口//S:表示接受的类型,T:表示目标类型publicinterfaceConverter<S,T>{/***实现类型转换的方法*/@NullableTconvert(Ssource);}自定义类型转换器/***@authorsongzixian*@create2019-07-23下午3:22*@description自定义类型转换器*/......
  • 计算机毕业设计|基于微信小程序的宠物自动喂养系统 基于SpringBoot的宠物自动喂养系统
    ......
  • SpringBoot + 虚拟线程,鸟枪换大炮!
    “虚拟”线程,望文生义,它是“假”的,它不直接调度操作系统的线程,而是由JVM再提供一层线程的接口抽象,由普通线程调度,即一个普通的操作系统线程可以调度成千上万个虚拟线程。虚拟线程比普通线程的消耗要小得多得多,在内存足够的情况下,我们甚至可以创建上百万的虚拟线程,这在之前(Jav......
  • Spring Boot原理
    自动装配原理pom.xml父工程spring-boot-starter-parent<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.3.1</version><relativePath/>......
  • SpringBoot前后端传递数据时常用的JSON格式数据是什么?【讲解JSON概念、语法、以及Java
    SpringBoot前后端传递数据时常用的JSON格式数据是什么?JSON概念JSON语法JSON的两种结构:JSON字符串和Java对象互转:objectMapper.writeValueAsString(person);objectMapper.readValue(jsonStr,Person.class);在SpringMVC框架中,前后端交互会自动转JsonJSON概念JSON:Jav......
  • 学生读书笔记共享系统-毕业设计-Springboot+mysql+Vue
    介绍学生读书笔记共享系统是一款专为学生设计的平台,旨在通过信息化手段实现读书笔记的共享和交流。系统分为管理端和用户端两个角色,分别为管理员和学生用户提供不同的功能模块,满足各自的需求。该系统不仅促进了学生之间的学习交流,还提升了学习效率和笔记管理的便捷性。技术栈......