Advertisement
Guest User

pokemonhoe

a guest
Jun 11th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.77 KB | None | 0 0
  1. package driver;
  2.  
  3. import java.sql.*;
  4. import check.*;
  5. import java.util.ArrayList;
  6.  
  7.  
  8.  
  9. import com.mysql.jdbc.Connection;
  10.  
  11. public class JDBCDriver {
  12. private static Connection conn = null;
  13. private static ResultSet rs = null;
  14. private static PreparedStatement ps = null;
  15. private static int userID = 0;
  16.  
  17. public static void connect(){
  18. try {
  19.  
  20. Class.forName("com.mysql.jdbc.Driver");
  21.  
  22. conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/Users?user=root&password=password!&useSSL=false");
  23.  
  24. } catch (ClassNotFoundException e) {
  25. // TODO Auto-generated catch block
  26. e.printStackTrace();
  27. } catch (SQLException e) {
  28. // TODO Auto-generated catch block
  29. e.printStackTrace();
  30. }
  31. }
  32.  
  33. public static void close(){
  34. try{
  35. if (rs!=null){
  36. rs.close();
  37. rs = null;
  38. }
  39. if(conn != null){
  40. conn.close();
  41. conn = null;
  42. }
  43. if(ps != null ){
  44. ps = null;
  45. }
  46. }catch(SQLException sqle){
  47. System.out.println("connection close error");
  48. sqle.printStackTrace();
  49. }
  50. }
  51.  
  52. public static boolean validate(String usr, String pwd){
  53. connect();
  54. try {
  55. ps = conn.prepareStatement("SELECT pw, userID FROM User WHERE username=?");
  56. ps.setString(1, usr);
  57. rs = ps.executeQuery();
  58. System.out.println(rs);
  59. //HttpSession session = null;
  60. if(rs.next()){
  61. if(pwd.equals(rs.getString("pw")) ){
  62.  
  63. return true;
  64.  
  65. }
  66. }
  67. } catch (SQLException e) {
  68. System.out.println("SQLException in function \"validate\"");
  69. e.printStackTrace();
  70. }finally{
  71. close();
  72. }
  73. return false;
  74. }
  75. public static int getUserID(String username, String password) {
  76. connect();
  77. try {
  78. ps = conn.prepareStatement("SELECT userID FROM User WHERE username=? AND pw=?");
  79. ps.setString(1, username);
  80. ps.setString(2, password);
  81. rs = ps.executeQuery();
  82. System.out.println(rs);
  83. //HttpSession session = null;
  84. if(rs.next()){
  85. return (rs.getInt("userID"));
  86. }
  87. } catch (SQLException e) {
  88. System.out.println("SQLException in function \"validate\"");
  89. e.printStackTrace();
  90. }finally{
  91. close();
  92. }
  93. return userID;
  94. }
  95. public static int getNumTasks(int userID) {
  96. connect();
  97. try {
  98. ps = conn.prepareStatement("SELECT DISTINCT t.taskID,t.userID,t.title,t.projectID FROM User u, Task t WHERE t.userID=? AND t.completed=?");
  99. ps.setInt(1, userID);
  100. ps.setBoolean(2, false);
  101. rs = ps.executeQuery();
  102. System.out.println(userID);
  103. int counter =0;
  104. while(rs.next()){
  105. counter++;
  106. }
  107. return counter;
  108. } catch (SQLException e) {
  109. System.out.println("SQLException in function \"validate\"");
  110. e.printStackTrace();
  111. }finally{
  112. close();
  113. }
  114. return 0;
  115. }
  116. //for sign up page
  117. public static boolean validateSignup(String usr, String password){
  118. connect();
  119. try {
  120. ps = conn.prepareStatement("SELECT username FROM User WHERE username=?");
  121. ps.setString(1, usr);
  122. rs = ps.executeQuery();
  123. System.out.println(rs);
  124. if(rs.next()){
  125. return true; //user exists
  126. }
  127. else { //create new user
  128. ps = conn.prepareStatement("INSERT INTO User (username, pw) VALUES (?,?)");
  129. ps.setString(1, usr);
  130. ps.setString(2, password);
  131. ps.executeUpdate();
  132. return false;
  133. }
  134. } catch (SQLException e) {
  135. System.out.println("SQLException in function \"validate\"");
  136. e.printStackTrace();
  137. }finally{
  138. close();
  139. }
  140. return false;
  141. }
  142. public static ArrayList<Project> getuserProjects(int userID){
  143. connect();
  144. ArrayList<Project> userprojects = new ArrayList<Project>();
  145. try {
  146. ps = conn.prepareStatement("SELECT DISTINCT p.projectID,p.ptitle,p.userID, up.projectID AS 'upppid',up.upID FROM UserProject up JOIN Project p WHERE up.userID=? AND up.projectID= p.projectID");
  147. ps.setInt(1, userID);
  148. rs = ps.executeQuery();
  149. System.out.println(rs);
  150. while(rs.next()){
  151. String ptitle = rs.getString("ptitle");//user exists
  152. int pID = rs.getInt("projectID");
  153. Project p = new Project(ptitle, pID);
  154. userprojects.add(p);
  155. }
  156. return userprojects;
  157. } catch (SQLException e) {
  158. System.out.println("SQLException in function \"validate\"");
  159. e.printStackTrace();
  160. }finally{
  161. close();
  162. }
  163. return userprojects;
  164. }
  165. public static boolean projectExistence(int pID){
  166. connect();
  167. try {
  168. ps = conn.prepareStatement("SELECT p.projectID FROM Project p WHERE p.projectID=?");
  169. ps.setInt(1, pID);
  170. rs = ps.executeQuery();
  171. System.out.println(rs);
  172. //HttpSession session = null;
  173. if(rs.next()){
  174. return true;
  175. }
  176. } catch (SQLException e) {
  177. System.out.println("SQLException in function \"projectExists\"");
  178. e.printStackTrace();
  179. }finally{
  180. close();
  181. }
  182. return false;
  183. }
  184. public static boolean userInProject(int pID, int userID)
  185. {
  186. connect();
  187. try{
  188. ps = conn.prepareStatement("SELECT p.userID FROM UserProject p WHERE p.projectID=? AND p.userID=?");
  189. ps.setInt(1, pID);
  190. ps.setInt(2, userID);
  191. rs = ps.executeQuery();
  192. System.out.println(rs);
  193. //HttpSession session = null;
  194. if(rs.next()) {
  195. return true;
  196. }
  197. else {
  198. ps = conn.prepareStatement("INSERT INTO UserProject (projectID, userID) VALUES(?, ?)");
  199. ps.setInt(1, pID);
  200. ps.setInt(2, userID);
  201. ps.executeUpdate();
  202.  
  203. }
  204.  
  205. }catch (SQLException e) {
  206. System.out.println("SQLException in function \"userInProject\"");
  207. e.printStackTrace();
  208. }finally{
  209. close();
  210. }
  211. return false;
  212. }
  213. public static void createProject(String projectName, int userID){
  214. connect();
  215. try {
  216. ps = conn.prepareStatement("INSERT INTO Project (ptitle, userID) VALUES (?,?)");
  217. ps.setString(1, projectName);
  218. ps.setInt(2, userID);
  219. ps.executeUpdate();
  220. }catch (SQLException e) {
  221. System.out.println("SQLException in function \"createProject\"");
  222. e.printStackTrace();
  223. }finally {
  224. close();
  225. }
  226. }public static int getPID(String projectName, int userID){
  227. connect();
  228. try {
  229. ps = conn.prepareStatement("SELECT projectID FROM Project WHERE ptitle=? AND userID=?");
  230. ps.setString(1, projectName);
  231. ps.setInt(2, userID);
  232. rs = ps.executeQuery();
  233. if (rs.next()){
  234. int pID = rs.getInt("projectID");
  235. return pID;
  236. }
  237.  
  238. return 0;
  239. }catch (SQLException e) {
  240. System.out.println("SQLException in function \"getPID\"");
  241. e.printStackTrace();
  242. }finally{
  243. close();
  244. }
  245. return 0;
  246. }
  247. public static void createUserProject(int projectID, int userID){
  248. connect();
  249. try {
  250. ps = conn.prepareStatement("INSERT INTO UserProject (projectID, userID) VALUES(?, ?)");
  251. ps.setInt(1, projectID);
  252. ps.setInt(2, userID);
  253. ps.executeUpdate();
  254. }catch (SQLException e) {
  255. System.out.println("SQLException in function \"createUserProject\"");
  256. e.printStackTrace();
  257. }finally {
  258. close();
  259. }
  260. }
  261.  
  262. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement