Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana menangani pengecualian saat menambahkan nama pengguna duplikat ke database di aplikasi spring mvc

Anda hanya menangani MySQLIntegrityConstraintViolationException bukan pengecualian lain:NestedServletException dan DuplicateKeyException dan karenanya Anda mendapatkan stacktrace dan try/catch Anda tidak berfungsi.

BTW, Mengapa tidak membuat metode tambahan untuk memeriksa apakah nama pengguna sudah ada dan jika ya maka tampilkan pesan kesalahan jika tidak tambahkan pengguna.

class UserRepositoryImpl implements UserRepository{
    //.....
    public int isUsernameExist(String username){
        String sql = "SELECT COUNT(*) FROM users WHERE username=?";
        return jdbcTemplate.queryForObject(sql, new Object[] { username }, String.class);
    }
    //....
}

@RequestMapping(value="/register", method=RequestMethod.POST)
public String processRegisterUser(@ModelAttribute("user") User user, BindingResult result){
    int status = userRepository.isUserExist(user.getUsername());
    if(status==1){
        //Username exist... redirect and display error msg.
    } else {
        userRepository.addUser(user);
    }
    //.....
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pilihan Bersarang menggunakan Zend Db

  2. Bagaimana saya bisa membangun aplikasi Android dengan database MySQL lokal?

  3. mysqlimport menggunakan dump

  4. PHP/MySQL:Praktik operasi/penyimpanan uang terbaik?

  5. Cara mengulang array sesi di php