public interface MemberDao {
// C: Create
int insert(Member member);
// 回傳影響筆數 (通常 1 成功, 0 失敗)
// R: Read
Member selectByUsername(String username);
// 用帳號找會員,如果不存在就回傳 null
Member selectById(int id);
// 用主鍵 ID 找會員
List<Member> selectAll();
// 查詢所有會員
int countByUsername(String username);
// 回傳指定 username 出現的次數(檢查重複用)
// U: Update
int update(Member member);
// 更新會員資料,通常根據 username 或 id
int updatePassword(String username, String newPassword);
// 只更新密碼
int updateNickname(String username, String newNickname);
// 只更新暱稱
// D: Delete
int deleteByUsername(String username);
// 用 username 刪除帳號
int deleteById(int id);
// 用 id 刪除帳號
}