ajax异步注册代码,ajax——异步操作、整合注册功能

1. 整合整套注册流程

1.1. 处理持久层

复制此前项目的db.properties和spring-dao.xml到当前项目中,修改必要的配置,例如持久层接口所在的包。

在创建srcmainresources下创建mappers文档夹,复制并得到新的UserMapper.xml文档。

检查User实体类是否与数据表保持一致:

public class User implements Serializable {

private static final long serialVersionUID = 2905888894945816600L;

private Integer id;

private String username;

private String password;

private Integer age;

private String phone;

private String email;

private Integer isDelete;

private Integer department;

// ... ...

设计注册时需要执行的 SQL 语句:

INSERT INTO t_user (

username, password,

age, phone,

email, is_delete,

department

) VALUES (

#{username}, #{password},

#{age}, #{phone},

#{email}, #{isDelete},

#{department}

)

以上字段列表和值列表,每行(横排)都只写 2 个,便于检查;

注意:最后一个字段和值的后面没有逗号,避免复制粘贴了多余的符号

为了保证 “用户名唯一”,还应该添加 “根据用户名查询数据” 的功能,对应的 SQL 语句是:

SELECT

id, password

FROM

t_user

WHERE

username=#{username}

单从注册来看,查询的字段列表是无所谓的,只关心有没有匹配的数据即可,基于 “根据用户名查询数据” 功能还可以应用于 “登录”,所以,查询字段中可以有密码,用于登录时判断密码,还可以有 id,用于成功登录后存入 Session。

所以,实现注册功能,至少需要执行 2 种 SQL 语句,那么,接口中也应该存在 2 个抽象方法!则创建cn.tedu.ajax.mapper.UserMapper接口,并添加抽象方法:

Integer insert(User user);

User findByUsername(String username);

然后,修改UserMapper.xml根节点的namespace属性,并配置以上 2 个抽象方法的映射!

1.2. 处理业务层

业务层是持久层的调用者,且,大多数情况下,被控制器层调用。

Controller ---> Service ---> Mapper

在实际应用中,不允许控制器层直接调用持久层。

首先,创建cn.tedu.ajax.service.UserService类,声明private UserMapper userMapper;持久层对象,以便于调用并实现功能,但是,仅声明是没有值的,所以,添加@Autowired注解!如果属性需要被自动装配,当前类本身也应该在 Spring 管理范围之内,所以,当前类需要添加Service注解,并在组件扫描范围之内:

@Service

public class UserService {

@Autowired

private UserMapper userMapper;

// ... ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值