01-Springboot电脑网上商城项目-用户注册功能

本文详细介绍了如何使用Spring Boot实现用户注册功能,包括创建数据表、设计用户实体类、持久层操作、业务层异常处理、控制层响应及前端页面交互。涉及到的数据表创建、Mapper接口设计、异常规划、接口实现以及Ajax请求等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、用户注册

1.创建数据表

1.选中数据表:store

2.创建t_user表:

CREATE TABLE t_user (
	uid INT AUTO_INCREMENT COMMENT '用户id',
	username VARCHAR(20) NOT NULL UNIQUE COMMENT '用户名',
	password CHAR(32) NOT NULL COMMENT '密码',
	salt CHAR(36) COMMENT '盐值',
	phone VARCHAR(20) COMMENT '电话号码',
	email VARCHAR(30) COMMENT '电子邮箱',
	gender INT COMMENT '性别:0-女,1-男',
	avatar VARCHAR(50) COMMENT '头像',
	is_delete INT COMMENT '是否删除:0-未删除,1-已删除',
	created_user VARCHAR(20) COMMENT '日志-创建人',
	created_time DATETIME COMMENT '日志-创建时间',
	modified_user VARCHAR(20) COMMENT '日志-最后修改执行人',
	modified_time DATETIME COMMENT '日志-最后修改时间',
	PRIMARY KEY (uid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2 创建用户的实体类

1.根据表的结构提取出公共字段,放在一个实体类的基类中,取名为BaseEntity

@Data
public class BaseEntity {
   
   

    private String createdUser;
    private Date createdTime;
    private String modifiedUser;
    private Date modifiedTime;
}

2.创建用户实体类,继承基类BaseEntity

@Data
public class User extends BaseEntity{
   
   

    private Integer uid;
    private String username;
    private String password;
    private String salt;
    private String phone;
    private String email;
    private Integer gender;
    private String avatar;
    private Integer isDelete;
}

3 注册-持久层

3.1 规划需要执行的sql语句

1.用户的注册功能,插入操作

insert into t_user(username,password) values(值列表)

2.在用户注册之前先判断用户是否存在

select * from t_user where username=#{username}
3.2 设计接口和抽象方法

1.定义Mapper接口

public interface UserMapper {
   
   

    /**
     * 用户注册
     * 插入用户数据
     * @param user
     * @return 返回影响的行数,可以判断是否插入成功
     */
    Integer insert(User user);

    /**
     * 根据用户名查询用户是否存在
     * @param username
     * @return 用户存在返回用户数据,不存在返回null
     */
    User findByUsername(String username);
}

2.在启动类配置mapper接口位置

@SpringBootApplication

//注解指定当前项目中mapper接口路径位置,项目启动时自动加载所有接口
@MapperScan("com.cy.store.mapper")
public class StoreApplication {
   
   

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

}
3.3 编写映射

1.定义xml映射文件,与对应的接口进行关联.所有的映射文件需要放置在resources目录下,创建mapper文件夹,存放映射文件

2.创建接口的映射文件

<?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">
<!--namespaces属性 用于指定当前映射文件与哪一个mapper接口进行映射,需要指定包完整路径-->
<mapper namespace="com.cy.store.mapper.UserMapper">

</mapper>

3.配置接口中的方法

<?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">
<!--namespaces属性 用于指定当前映射文件与哪一个mapper接口进行映射,需要指定包完整路径-->
<mapper namespace="com.cy.store.mapper.UserMapper">

    <!--
    自定义映射规则 resultMap标签完成映射规则的定义
    id属性:给这个映射负责分配唯一的id值,resultMap="id"
    type属性:取一个类,表示数据库中的查询结果与Java中哪一个实体类进行映射
    -->
    <resultMap id="UserEntityMap" type="com.cy.store.entity.User">
        <!--将表中数据与类中属性不一致的字段进行匹配,名称一致字段可以省略,主键不能省略-->
        <!--column 表中资源名-->
        <!--property 类中属性名-->
        <id column="uid" property="uid"></id>
        <result column="is_delete" property="isDelete"></result>
        <result column="created_user" property="createdUser"></result>
        <result column="created_time" property="createdTime"></result>
        <result column="modified_user" property="modifiedUser"></result>
        <result column="modified_time" property="modifiedTime"></result>
    </resultMap>

    <!--id属性 表示映射的接口中方法中的名称 -->
    <insert id="insert">
        insert into t_user(
            username,password,salt,phone,email,gender,avatar,is_delete,
            created_user,created_time
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值