填写用户名imooc密码是123123
阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_Java架构师成长直通车
故意输错密码
阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_ooc_02

注册成功直接登录进来了。
阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_Java架构师成长直通车_03

点击右边的退出。
阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_Java架构师成长直通车_04

再次注册imooc会提示。用户名已经存在了。校验的控制是前端发起的。发送异步请求去后端校验。
阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_工具类_05
PDMan里面看一下 用户表的结构。注解没有使用自增长id,在集群、分布式、微服务环境下,所有表的id都要控制为全局唯一的。除非是那种数量非常小的表,上百上千条的。密码会进行加密存储,MD5加密。创建时间就是用户的注册时间,
阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_字符串_06

编写接口。

原则是从下往上写

复制StuService,改名叫做UserService
阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_字符串_07

阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_用户名_08
复制实现类,改个名字
阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_Java架构师成长直通车_09
演示使用Example来做查询演示。就是通过条件进行查询。
阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_字符串_10

阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_ooc_11
createCriteria
阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_字符串_12
由于这里是查询,使用Supports事务就可以了。
阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_字符串_13
通过Criteria可以创建很多的条件。
阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_字符串_14
我们是要和用户名进行对比。这里使用AndEqualTo。我们要对比username
阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_ooc_15

阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_ooc_16

编写Controller

复制改个名字,没有命名为UserController,而是叫做了PassportController
阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_用户名_17

阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_字符串_18
使用StingUtils工具类。父工程内。引入依赖。都是apache下的依赖。我们要使用的判断字符串的就是在commons-lang3这个包下
阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_工具类_19

阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_字符串_20
这两个都可以使用,只不过使用NotBlank可以额外的判断是不是空的字符串
阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_字符串_21
如果为空,出错了就返回500
阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_ooc_22

阶段一-01.万丈高楼,地基首要-第3章 用户登录注册模块开发-3-2 用户注册 - 判断用户名存在_Java架构师成长直通车_23

结束