1. 程式人生 > 其它 >資料庫: 商城案例 - 編寫UserDao & 測試註冊與登入功能

資料庫: 商城案例 - 編寫UserDao & 測試註冊與登入功能

UserDao

  需求一: 編寫一個註冊使用者的方法,接收的引數是一個User物件

  需求二: 編寫一個 使用者登入的方法,接收的引數是 使用者名稱 和密碼, 返回值是User物件

編寫UserDao

  

public class UserDao {

    /**
     * 註冊使用者
     * */
    public int register(User user) throws SQLException {

        //1.獲取QueryRunner
        QueryRunner qr = new QueryRunner(DruidUtils.getDataSource());

        
//2.編寫SQL String sql = "insert into user values(?,?,?,?,?,?)"; Object[] param = {user.getUid(), user.getUsername(), user.getPassword(), user.getTelephone(), user.getBirthday(), user.getSex()}; //3.執行插入操作 int update = qr.update(sql,param); //4.返回受影響的行數
return update; } /** * 使用者註冊 * */ public User login(String username , String password) throws SQLException { QueryRunner qr = new QueryRunner(DruidUtils.getDataSource()); String sql = "select * from user where username = ? and password = ?"; //返回的是一個User物件 使用BeanHandler將結果集的第一條和資料封裝到一個Javabean中
User user = qr.query(sql, new BeanHandler<User>(User.class), username, password); return user; } }

測試註冊與登入功能

public class TestUserDao {

    //建立UserDao
    UserDao userDao = new UserDao();

    //測試註冊功能
    @Test
    public void testRegister() throws SQLException {

        //1. 建立User物件
        User user = new User();

        //2. 對User物件進行賦值
        user.setUid(UUIDUtils.getUUID());
        user.setUsername("大郎");
        user.setPassword("654321");
        user.setTelephone("15052005200");
        user.setSex("男");
        user.setBirthday(DateUtils.getDateFormart());

        //3.執行註冊
        int register = userDao.register(user);

        //4.判斷註冊是否成功
        if(register > 0){
            System.out.println("註冊成功,歡迎您: " + user.getUsername());
        }else{
            System.out.println("註冊失敗! !");
        }

    }

    //測試登入功能
    @Test
    public void testLogin() throws SQLException {

        //呼叫UserDao的 login方法,傳入使用者名稱密碼
        User user = userDao.login("大郎", "654321");

        //判斷user不為空 登入成功
        if(user != null){
            System.out.println(user.getUsername() +" 歡迎您!");
        }else{
            System.out.println("使用者名稱或者密碼錯誤! !");
        }

    }
}