1 Star 2 Fork 0

游侠小马哥 / yx-common

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
README.md 4.61 KB
一键复制 编辑 原始数据 按行查看 历史
游侠小马哥 提交于 2019-01-29 09:27 . 工具示例

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中添加,或者拷贝至本地工程中添加,默认加载本地工程路径下的

Java
1
https://gitee.com/youxiaxiaomage/yx-common.git
git@gitee.com:youxiaxiaomage/yx-common.git
youxiaxiaomage
yx-common
yx-common
master

搜索帮助