03. 开发普通用户信息管理功能

318 字约 1 分钟读完543 次阅读更新于 2026/5/3

SQL

CREATE TABLE `user` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `username` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '账号',
  `password` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '密码',
  `name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '名称',
  `avatar` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '头像',
  `role` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '角色',
  `phone` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '联系方式',
  `email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '邮箱',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='普通用户信息';

开发后端接口

  1. 开发实体类 entity (跟数据库的表的字段对应)
  2. 创建 controller(定义后端的 http 接口)
  3. 创建 Service(业务实现)
  4. 创建 Mapper(数据库操作的接口 增、删、改、查) 以及 Mapper.xml(sql 实现)

User.java

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.mapper.UserMapper">

    <select id="selectAll" resultType="com.example.entity.User">
        select * from `user`
        <where>
            <if test="name != null"> and name like concat('%', #{name}, '%')</if>
        </where>
        order by id desc
    </select>

    <insert id="insert" parameterType="com.example.entity.User" useGeneratedKeys="true">
        insert into `user`(id, username, password, name, avatar, role, phone, email)
        values (#{id}, #{username}, #{password}, #{name}, #{avatar}, #{role}, #{phone}, #{email})
    </insert>

    <update id="updateById" parameterType="com.example.entity.User">
        update `user` set username = #{username}, password = #{password}, name = #{name}, avatar = #{avatar}, role = #{role},
        phone = #{phone}, email = #{email}
        where id = #{id} 
    </update>

</mapper>

开发前端页面

  1. 创建 vue 页面
  2. 创建路由
  3. 配置菜单

User.vue

Element-Plus 官方网站

https://element-plus.org/zh-CN/

preview