用户模块开发
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