代码拉取完成,页面将自动刷新
yx-common,tools for daily work accumulation.
主要积累工作中使用频繁的方法,以及个人的理解的一些工具类
├─yx-common
│ │
│ ├─annotation---------------- 注解
│ │
│ ├─base-------------------- 基类
│ │
│ ├─common---------------- 常用工具类
│ │
│ ├─container ------------ 容器类
│ │
│ ├─executor---------------- 执行器
│ │
│ └─json---------------- json的几种工具
1.BaseMode:
@Data
@TableName("sys_user")
@EqualsAndHashCode(callSuper = false)
public class SysUser extends BaseModel
{
/**
* serialVersionUID
*/
private static final long serialVersionUID = 8060826399981108784L;
/**
* 用户名
*/
@TableField
private String userName;
/**
* 密码
*/
@TableField
private String password;
/**
* 登录日期
*/
@TableField
private Date loginDate;
/**
* 登录Ip
*/
@TableField
private String loginIp;
}
2.BaseMapper:
public interface SysUserMapper extends BaseMapper<SysUser>
{
/**
* 根据用户名查询
* @param userName
* @return
*/
@Select("select * from sys_user where user_name = #{userName}")
SysUser queryByUserName(String userName);
}
3.BaseService:
public interface SysLogService extends BaseService<SysLog>
{
}
4.BaseServiceImpl:
@Service
public class SysUserServiceImpl extends BaseServiceImpl<SysUser, SysUserMapper> implements SysUserService
{
@Autowired
private SysUserMapper sysUserMapper;
@Override
public SysUser queryByUserName(String userName)
{
return this.sysUserMapper.queryByUserName(userName);
}
}
5.BaseController:
@RequestMapping
@Controller
public class LoginController extends BaseController<SysUser, SysUserService>
{
/**
* 登录视图
* 重写方法
* @return
* @see com.gitee.base.BaseController#view()
*/
@GetMapping("/login")
@Override
public String view()
{
return "login";
}
/**
* 登录
* @param userName 用户名
* @param password 密码
* @return
*/
@Log(module=ModuleEnum.USER, value="用户登录", type=LogType.LOGIN)
@PostMapping("/login")
@ResponseBody
public Result login(String userName, String password)
{
SysUser user = this.service.queryByUserName(userName);
if (user == null)
{
throw new LoginException(Resources.getMessage(Constants.ACCOUNT_NOT_EXIST));
}
if(!password.equals(user.getPassword()))
{
throw new LoginException(Resources.getMessage(Constants.PASSWORD_ERROR));
}
// save user into session.
WebUtil.saveCurrentUser(user);
return Result.success();
}
}
注意如果LoginController
这个控制器默认的是SysUserService
,如果要注入其他Service
,只需在控制器中定义***Service
,不需要使用@Autowired
注解。
6.自定义异常写法
public class LoginException extends BaseException
{
/**
* serialVersionUID
*/
private static final long serialVersionUID = -7575053375573634406L;
public LoginException()
{
}
public LoginException(String message)
{
super(message);
}
public LoginException(Throwable ex)
{
super(ex);
}
public LoginException(String message, Throwable ex)
{
super(message, ex);
}
@Override
protected HttpCode getHttpCode()
{
return HttpCode.FAIL;
}
}
7.国际化:
注意有国际化文件,异常信息都在这配置,如果有拓展可以在yx-common
中添加,或者拷贝至本地工程中添加,默认加载本地工程路径下的
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。