aboutsummaryrefslogtreecommitdiff
path: root/juick-core/src/main/java/com/juick/server/UserQueries.java
diff options
context:
space:
mode:
Diffstat (limited to 'juick-core/src/main/java/com/juick/server/UserQueries.java')
-rw-r--r--juick-core/src/main/java/com/juick/server/UserQueries.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/juick-core/src/main/java/com/juick/server/UserQueries.java b/juick-core/src/main/java/com/juick/server/UserQueries.java
index 13a330e5..0db929bd 100644
--- a/juick-core/src/main/java/com/juick/server/UserQueries.java
+++ b/juick-core/src/main/java/com/juick/server/UserQueries.java
@@ -18,6 +18,7 @@
package com.juick.server;
import com.juick.User;
+import org.springframework.dao.DuplicateKeyException;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
@@ -73,13 +74,17 @@ public class UserQueries {
public static int createUser(JdbcTemplate sql, String username, String password) {
KeyHolder holder = new GeneratedKeyHolder();
- sql.update(con -> {
- PreparedStatement stmt = con.prepareStatement("INSERT INTO users(nick,passw) VALUES (?,?)",
- Statement.RETURN_GENERATED_KEYS);
+ try {
+ sql.update(con -> {
+ PreparedStatement stmt = con.prepareStatement("INSERT INTO users(nick,passw) VALUES (?,?)",
+ Statement.RETURN_GENERATED_KEYS);
stmt.setString(1, username);
stmt.setString(2, password);
return stmt;
- }, holder);
+ }, holder);
+ } catch (DuplicateKeyException e) {
+ return -1;
+ }
int uid = holder.getKey().intValue();