Advertisement
Guest User

DAO.java

a guest
Apr 28th, 2015
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.35 KB | None | 0 0
  1. package aei020gre002.info233Oblig4.io;
  2.  
  3. import java.sql.*;
  4. import java.util.Properties;
  5.  
  6. /**
  7.  * Created by Anders on 27/04/2015.
  8.  * @author Anders Eide
  9.  */
  10. @SuppressWarnings("JpaQueryApiInspection")
  11. public class DAO {
  12.  
  13.     private static DAO instance = new DAO();
  14.     private Connection connection;
  15.  
  16.     private PreparedStatement coursesFromNameStatement;
  17.     private PreparedStatement studentsFromCourseAndSemesterStatement;
  18.     private PreparedStatement studentsFromGradeAndSemesterStatement;
  19.  
  20.     private String coursesFromNameQueryString =
  21.                 "SELECT FirstName, LastName, CourseID"
  22.             +   "FROM `COURSE_RESULTS`, `STUDENTS`"
  23.             +   "WHERE STUDENTS.StudentID = COURSE_RESULTS.StudentID"
  24.             +   "AND STUDENTS.FirstName = ?"
  25.             +   "AND STUDENTS.LastName = ?";
  26.  
  27.     private String studentsFromCourseAndSemesterQueryString =
  28.                 "SELECT FirstName, LastName, STUDENTS.StudentID"
  29.             +   "FROM `COURSE_RESULTS`, `STUDENTS`"
  30.             +   "WHERE STUDENTS.StudentID = COURSE_RESULTS.StudentID"
  31.             +   "AND CourseID = ?"
  32.             +   "AND Semester = ?";
  33.  
  34.     private String studentsFromGradeAndSemesterQueryString =
  35.                 "SELECT FirstName, LastName, CourseID"
  36.             +   "FROM  `COURSE_RESULTS` ,  `STUDENTS`"
  37.             +   "WHERE COURSE_RESULTS.StudentID = STUDENTS.StudentID"
  38.             +   "AND Grade =  ?"
  39.             +   "AND Semester =  ?";
  40.  
  41.  
  42.     private DAO(){
  43.         initializeStatements();
  44.         connect();
  45.     }
  46.  
  47.     private void initializeStatements() {
  48.         //TODO Set up prepared statements
  49.     }
  50.  
  51.     private void connect() {
  52.         try{
  53.             Class.forName("com.mysql.jdbc.Driver");
  54.         } catch (ClassNotFoundException e) {
  55.             System.out.println("Driver class not found, fix your shit mayne");
  56.         }
  57.  
  58.         String host = "bigfoot.uib.no";
  59.         String dbName = "gr1db";
  60.         int port = 3306;
  61.         String mySqlUrl = "jdbc:mysql://" + host + ":" + port + "/" + dbName;
  62.         System.out.println(mySqlUrl);
  63.         Properties userInfo = new Properties();
  64.         userInfo.put("user", "gr1user");
  65.         userInfo.put("password", "ugr1s");
  66.  
  67.         String mySqlUrlUnfuckpls = "jdbc:mysql://" + host + ":" + port + "/" + dbName + "?" +
  68.                 "user=gr1user&password=ugr1s";
  69.         System.out.println(mySqlUrlUnfuckpls);
  70.  
  71.  
  72.         try{
  73.             connection = DriverManager.getConnection(mySqlUrl, userInfo);
  74.             coursesFromNameStatement = connection.prepareStatement(coursesFromNameQueryString);
  75.             studentsFromCourseAndSemesterStatement = connection.prepareStatement(studentsFromCourseAndSemesterQueryString);
  76.             studentsFromGradeAndSemesterStatement = connection.prepareStatement(studentsFromGradeAndSemesterQueryString);
  77.         } catch (SQLException e) {
  78.             e.printStackTrace();
  79.         }
  80.     }
  81.  
  82.     public ResultSet getStudent(String firstName, String lastName){
  83.         try {
  84.             coursesFromNameStatement.setString(1, firstName);
  85.             coursesFromNameStatement.setString(2, lastName);
  86.             return coursesFromNameStatement.executeQuery();
  87.         } catch (SQLException e) {
  88.             e.printStackTrace();
  89.         }
  90.         return null;
  91.     }
  92.  
  93.     public static DAO getInstance(){
  94.         return instance;
  95.     }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement