使用dubbo仿猫眼微服务架构实战 第二天

本文介绍了使用dubbo构建微服务架构中用户模块的开发过程,包括dao层代码自动生成、注册与登录功能的实现、查询和修改用户信息的接口设计。在注册功能中,采用了一次MD5加密。登录检验涉及调用user模块的service。此外,还讨论了gateway模块的接口实现以及业务总结,强调了忽略URL配置和JWT的使用。在测试过程中,遇到并解决了因实体类未实现序列化接口导致的错误。
摘要由CSDN通过智能技术生成

用户模块开发

dao层代码生成

guns为我们提供了自动的dao接口代码生成器。到user模块的test文件夹中找到generator包中的EntityGeneragtor。然后对其中的信息进行修改。主要是一些目录和数据库的配置信息。目录信息就配置为工程的java目录。


gc.setOutputDir("D:\\IDEA_project_new\\guns\\guns-user\\src\\main\\java");//这里写你自己的java目录

  dsc.setDriverName("com.mysql.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("961212");
        dsc.setUrl("jdbc:mysql://127.0.0.1:3306/guns_rest?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8");
        mpg.setDataSource(dsc);

        pc.setEntity("com.stylefeng.guns.rest.common.persistence.model");
        pc.setMapper("com.stylefeng.guns.rest.common.persistence.dao");
        pc.setXml("com.stylefeng.guns.rest.common.persistence.dao.mapping");

修改完成之后执行这个文件,就会自动生成用户模块的数据实体bean。

可以看到我们在gateway模块中也是添加了两个模块的。但是gateway中的模块是用于和其他模块之间进行信息交互使用的。而user中的只是自己在用的实体。
关系如下:

注册功能实现

    @Override
    public boolean register(UserModel userModel) {
   
        //获取注册信息

        //将注册信息实体转换为数据实体【mooc_user_t】
        MoocUserT moocUserT = new MoocUserT();
        //将数据实体存入数据库
        moocUserT.setUserName(userModel.getUsername());

        moocUserT.setEmail(userModel.getEmail());
        moocUserT.setAddress(userModel.getAddress());
        moocUserT.setUserPhone(userModel.getPhone());
        //创建时间和修改时间

        //数据加密[MD5数据加密+salt]就是指两次md5
        String md5Password = MD5Util.encrypt(userModel.getPassword());

        moocUserT.setUserPwd(md5Password);
        //将数据插入到数据库当中
        Integer insert = moocUserTMapper.insert(moocUserT);
        if(insert>0){
   
            return true;
        }else return false;
    }

注册功能很简单,无非就是调用方获取到注册信息。传递到服务提供方。然后服务提供方执行如上的几部操作。
注意这里的加密。一般我们使用的应该是两次MD5加密,但是这里为了简单一点,只使用了一次。要学习更加安全的加密可以参考shior的加密方式。更加的安全。

登录,检验功能的实现

    @Override
    public int login(String username, String password) {
   
        //根据登录账号获取数据库
        MoocUserT moocUserT = new MoocUserT();
        moocUserT.setUserName(username);
        MoocUserT result = moocUserTMapper.selectOne(moocUserT);
        //将获取到的结果来与加密后的password进行比较
        if(result!=null&&result.getUuid()>0){
   
            String p = MD5Util.encrypt(password);
            if(result.getUserPwd().equals
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值