# yx-common **Repository Path**: youxiaxiaomage/yx-common ## Basic Information - **Project Name**: yx-common - **Description**: 频繁使用的工具,以及一些基类 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: https://gitee.com/youxiaxiaomage - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2017-10-30 - **Last Updated**: 2024-11-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

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 { /** * 根据用户名查询 * @param userName * @return */ @Select("select * from sys_user where user_name = #{userName}") SysUser queryByUserName(String userName); } ``` 3.BaseService: ``` public interface SysLogService extends BaseService { } ``` 4.BaseServiceImpl: ``` @Service public class SysUserServiceImpl extends BaseServiceImpl 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 { /** * 登录视图 * 重写方法 * @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`中添加,或者拷贝至本地工程中添加,默认加载本地工程路径下的