-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCuserDAO.java
More file actions
156 lines (140 loc) · 4.4 KB
/
Copy pathCuserDAO.java
File metadata and controls
156 lines (140 loc) · 4.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
package careerpath;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class CuserDAO {
public List<Cuser> getCusers() throws Exception {
String sql = "SELECT * FROM cusers;";
Connection con = null;
DB db = new DB();
List<Cuser> cusers = new ArrayList<Cuser>();
try {
con = db.getConnection();
PreparedStatement stmt = con.prepareStatement( sql );
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
cusers.add( new Cuser(rs.getString("name"), rs.getString("surname"),
rs.getString("email"),rs.getString("cusername"),
rs.getString("password")) );
}
rs.close();
stmt.close();
db.close();
return cusers;
} catch(Exception e) {
throw new Exception("Could not establish connection with the Database Server: "
+ e.getMessage());
} finally {
try {
db.close();
} catch (Exception e) {
}
}
} //End of getUsers
/**
* Search user by cusername
*
* @param cusername, String
* @return User, the User object or null
* @throws Exception
*/
public Cuser findCuser(String cusername) throws Exception {
String sql = "SELECT * FROM cusers WHERE cusername=?;";
Connection con = null;
DB db = new DB();
try {
con = db.getConnection();
PreparedStatement stmt = con.prepareStatement( sql );
stmt.setString(1, cusername);
ResultSet rs = stmt.executeQuery();
if (!rs.next()) {
rs.close();
stmt.close();
db.close();
throw new Exception("No user found with id: " + cusername);
}
Cuser cuser = new Cuser(rs.getString("name"), rs.getString("surname"),
rs.getString("email"),rs.getString("cusername"),
rs.getString("password"));
rs.close();
stmt.close();
db.close();
return cuser;
} catch(Exception e){
throw new Exception("Could not establish connection with the Database Server: "
+ e.getMessage());
} finally {
try {
db.close();
} catch (Exception e) {
}
}
} //End of findUser
/**
* This method is used to authenticate a user.
*
* @param cusername, String
* @param password, String
* @return User, the User object
* @throws Exception, if the credentials are not valid
*/
public Cuser authenticate(String cusername, String password) throws Exception {
DB db = new DB();
Connection con = null;
String sql = "SELECT * FROM cusers WHERE cusername=? AND password=?;";
try{
con = db.getConnection();
PreparedStatement stmt = con.prepareStatement( sql );
stmt.setString(1, cusername);
stmt.setString(2, password);
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
return new Cuser(rs.getString("name"), rs.getString("surname"),
rs.getString("email"),rs.getString("cusername"),
rs.getString("password"));
} else {
throw new Exception("Wrong cusername or password");
}
} catch(Exception e){
throw new Exception("Could not establish connection with the Database Server: "
+ e.getMessage());
} finally {
try {
db.close();
} catch (Exception e) {
}
}
} //End of authenticate
/**
* Register/create new User.
*
* @param user, User
* @throws Exception, if encounter any error.
*/
public void register(Cuser cuser) throws Exception {
DB db = new DB();
String sql = "INSERT INTO cusers " + " (name, surname, email, cusername, password) VALUES (?, ?, ?, ?, ?);";
Connection con = null;
try{
con = db.getConnection();
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, cuser.getName());
stmt.setString(2, cuser.getSurname());
stmt.setString(3, cuser.getEmail());
stmt.setString(4, cuser.getCusername());
stmt.setString(5, cuser.getPassword());
stmt.executeUpdate();
stmt.close();
db.close();
} catch (Exception e) {
throw new Exception("Could not establish connection with the Database Server: "
+ e.getMessage());
} finally {
try {
db.close();
} catch (Exception e) {
}
}
// thema 1 D
}//end of register
}