package com.pj.project.sys_user;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import com.pj.utils.so.SoMap;

/**
 * Mapper: sys_user -- 用户表
 * @author shengzhang 
 */
@Mapper
@Repository
public interface SysUserMapper {

	/**
	 * 增  
	 * @param s 实体对象 
	 * @return 受影响行数 
	 */
	int add(SysUser s);

	/** 
	 * 改  
	 * @param s 实体对象 
	 * @return 受影响行数 
	 */
	int update(SysUser s);

	/** 
	 * 查 - 根据id  
	 * @param id 要查询的数据id 
	 * @return 实体对象 
	 */
	SysUser getById(Long id);	 

	/**
	 * 查询，根据username 
	 */
	SysUser getByUsername(String username);
	
	/**
	 * 查询，根据 phone  
	 */
	SysUser getByPhone(String phone);

	/**
	 * 查询，根据 email  
	 */
	SysUser getByEmail(String email);

	/** 
	 * 查 - 指定用户的真实密码 
	 * @param id 要查询的数据id 
	 * @return 实体对象 
	 */
	String getPwById(Long id);	 

	/**
	 * 查集合 - 根据条件（参数为空时代表忽略指定条件）
	 * @param so 参数集合 
	 * @return 数据列表 
	 */
	List<SysUser> getList(SoMap so);

}
