首页 > 数据库 >基于Spring Boot + SSM(Spring + Spring MVC + MyBatis)+Vue+MySQL实现一个简单的用户管理功能

基于Spring Boot + SSM(Spring + Spring MVC + MyBatis)+Vue+MySQL实现一个简单的用户管理功能

时间:2024-12-18 17:08:47浏览次数:5  
标签:Vue Spring Boot vue User import public user

后端代码(Spring Boot + SSM部分)

1. 创建Spring Boot项目

使用Spring Initializr(可以通过IDEA等IDE自带的创建Spring Boot项目功能,或者访问Spring官网的Initializr页面)创建一个基础的Spring Boot项目,添加相关依赖,比如Web(用于构建Web应用)、MyBatisMyBatis Spring Boot StarterMySQL Driver(如果使用MySQL数据库)等。

2. 数据库相关配置(application.properties 或 application.yml)

如果使用application.properties,配置如下示例(以MySQL为例,根据实际情况修改数据库连接信息):

spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC&characterEncoding=utf8
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

mybatis.mapper-locations=classpath:mapper/*.xml

如果是application.yml格式:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC&characterEncoding=utf8
    username: your_username
    password: your_password
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
  mapper-locations: classpath:mapper/*.xml

3. 创建实体类(User.java为例)

public class User {
    private Long id;
    private String username;
    private String password;
    // 生成相应的Getter、Setter、构造函数等
    // 可以使用Lombok简化代码(添加Lombok依赖后使用相关注解)
}

4. 创建Mapper接口(UserMapper.java)

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

@Mapper
public interface UserMapper {
    List<User> selectAllUsers();
    int insertUser(User user);
    // 可以定义更多操作数据库的方法,比如根据ID查询、更新、删除等
}

5. 创建Mapper对应的XML文件(UserMapper.xml,放在resources/mapper目录下)

<?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">
    <select id="selectAllUsers" resultMap="UserResultMap">
        select * from user
    </select>

    <insert id="insertUser" keyProperty="id" useGeneratedKeys="true">
        insert into user(username, password) values(#{username}, #{password})
    </insert>

    <!-- 定义resultMap -->
    <resultMap id="UserResultMap" type="com.example.demo.model.User">
        <id property="id" column="id" />
        <result property="username" column="username" />
        <result property="password" column="password" />
    </resultMap>
</mapper>

6. 创建Service层接口(UserService.java)

import java.util.List;
import com.example.demo.model.User;

public interface UserService {
    List<User> getAllUsers();
    boolean addUser(User user);
}

7. 创建Service层接口实现类(UserServiceImpl.java)

import java.util.List;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.example.demo.mapper.UserMapper;
import com.example.demo.model.User;
import com.example.demo.service.UserService;

@Service
@Transactional
public class UserServiceImpl implements UserService {

    private final UserMapper userMapper;

    public UserServiceImpl(UserMapper userMapper) {
        this.userMapper = userMapper;
    }

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

    @Override
    public boolean addUser(User user) {
        return userMapper.insertUser(user) > 0;
    }
}

8. 创建Controller层(UserController.java)

import java.util.List;
import org.springframework.web.bind.annotation.*;
import com.example.demo.model.User;
import com.example.demo.service.UserService;

@RestController
@RequestMapping("/users")
public class UserController {

    private final UserService userService;

    public UserController(UserService userService) {
        this.userService = userService;
    }

    // 获取所有用户列表
    @GetMapping
    public List<User> getUsers() {
        return userService.getAllUsers();
    }

    // 添加用户
    @PostMapping
    public boolean addUser(@RequestBody User user) {
        return userService.addUser(user);
    }
}

前端代码(Vue部分)

1. 创建Vue项目

使用vue-cli创建项目(确保已安装vue-cli,通过命令vue create your-project-name创建项目),选择相应的配置,比如是否使用RouterVuex等(这里简单示例可不选)。

2. 安装axios用于和后端交互(在项目目录下执行命令)

npm install axios

3. 创建组件(比如UserList.vue用于展示用户列表,AddUser.vue用于添加用户,这里以UserList.vue为例)

<template>
  <div>
    <h2>用户列表</h2>
    <ul>
      <li v-for="user in users" :key="user.id">
        {{ user.username }}
      </li>
    </ul>
  </div>
</template>

<script>
import axios from 'axios';
export default {
  data() {
    return {
      users: []
    };
  },
  mounted() {
    this.fetchUsers();
  },
  methods: {
    fetchUsers() {
      axios.get('http://localhost:8080/users')  // 根据后端实际部署的地址和端口修改
       .then(response => {
          this.users = response.data;
        })
       .catch(error => {
          console.log(error);
        });
    }
  }
};
</script>

4. 在main.js中注册组件并挂载到根实例(简单示例)

import Vue from 'vue';
import App from './App.vue';
import UserList from './components/UserList.vue';

Vue.component('user-list', UserList);

new Vue({
  render: h => h(App)
}).$mount('#app');

标签:Vue,Spring,Boot,vue,User,import,public,user
From: https://www.cnblogs.com/java-note/p/18615412

相关文章

  • Spring源码分析之ConfigurationClassPostProcessor
    前言 在通过Spring源码分析之容器Refresh()方法_spring源码中refresh()方法-CSDN博客我们知到其中有一个步骤就是说会将满足条件的类注册为BeanDefinition然后放入到Spring容器中,这个主要就是存在于invokeBeanFactoryPostProcessors这个方法中进行的这个就是说具体是怎么......
  • 简单的基于Spring Cloud和Vue的示例项目结构及部分关键代码
    后端(SpringCloud部分)1.创建SpringCloud项目(以SpringCloudGateway和SpringCloudEureka为例)首先,使用SpringInitializr创建一个基础的SpringBoot项目,并添加相关的SpringCloud依赖,比如:spring-cloud-starter-gateway:用于实现API网关功能。spring-cloud-starter-netflix-......
  • dotnet9 MAUI + Vue 项目
    MAUI是dotnet的跨平台技术,支持windows平台、android平台、ios平台等。使用MAUI作为基础平台,在其上运行一个前端项目,比如Vue,可以同时享受开发效率与跨平台的好处。使用dotnet9后MAUI提供的组件HybridWebView,可以实现将前端项目嵌入到MAUI项目Page中的效果。支持C#与javascript的互......
  • 基于Bootstrap的jquery表格编辑插件
    Bootstable是一款基于Bootstrap的jquery表格编辑插件。通过该jquery表格编辑插件,会自动为表格添加编辑和删除按钮,使表格可以动态编辑。在线预览下载 该jquery表格编辑插件的特点还有:可以对指定表格单元格进行编辑。可以删除表格行。可以添加新的表格行。 使用方法在......
  • Java程序员如何高效学习Spring Cloud Alibaba?
    SpringCloudAlibaba有多香?大家都知道SpringCloudAlibaba是阿里巴巴提供的微服务开发一站式解决方案,是阿里巴巴开源中间件与SpringCloud体系的融合。依托SpringCloudAlibaba,您只需要添加一些注解和少量配置,就可以将SpringCloud应用接入阿里微服务解决方案,通过阿......
  • vue3 在给路由跳转增加动画之后,跳转时页面会出现上下抖动的问题
    这个问题需要分以下两个步骤解决:抖动的页面有多个多根节点增加离开过渡的css样式v-leave-to:{display:none}解决步骤1(抖动的页面有多个多根节点)我在为路由跳转增加了动画之后,有的页面可以正常加载动画,有的页面就有抖动问题,后来发现控制台有如下的警告信息:问题解释如下:......
  • antd-vue的less默认变量
    //Theprefixtouseonallcssclassesfromant.@ant-prefix:ant;//Anoverrideforthehtmlselectorforthemeprefixes@html-selector:html;//--------Colors-----------@primary-color:@blue-6;@info-color:@blue-6;@success-color:@green-6;@pr......
  • Spring Cloud常用组件及其配置
    一、Eureka(服务注册与发现)EurekaServer配置application.yml配置示例:server:port:8761eureka:instance:hostname:localhostclient:register-with-eureka:falsefetch-registry:false解释:server.port:指定EurekaServer运行的端口,这里是8761......
  • Spring Cloud 开发环境搭建
    一、环境准备Java环境SpringCloud是基于Java开发的框架,所以需要先安装Java开发工具包(JDK)。确保你的系统安装了JDK8或更高版本。你可以从Oracle官方网站(https://www.oracle.com/java/technologies/javase-downloads.html)或OpenJDK官方网站(https://openjdk.java.net/install......
  • springboot毕设商会会员管理系统程序+论文+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着市场经济的不断发展,商会在商业领域的重要性日益凸显。商会会员数量逐渐增多,会员之间的交流、合作以及商会对会员的管理变得越发复杂。传统的......