Advertisement
Guest User

DAL

a guest
Sep 22nd, 2016
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.39 KB | None | 0 0
  1. package dal;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.PreparedStatement;
  6. import java.sql.ResultSet;
  7. import java.util.ArrayList;
  8.  
  9. import model.Course;
  10. import model.Student;
  11.  
  12. public class Dal {
  13.  
  14. private PreparedStatement stmt;
  15. private Connection conn;
  16.  
  17. public Connection getConnection() {
  18. try {
  19. DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver());
  20.  
  21. Connection conn = DriverManager.getConnection(
  22. "jdbc:sqlserver://localhost:1433;" + "databaseName=uppgift1;user=sa;password=stest123;");
  23. return conn;
  24. } catch (Exception e) {
  25. e.printStackTrace();
  26. }
  27.  
  28. return null;
  29. }
  30.  
  31. public ArrayList<Student> getAllStudents() {
  32.  
  33. ArrayList<Student> students = new ArrayList<Student>();
  34. try {
  35. conn = getConnection();
  36. String sql = "select * from student";
  37.  
  38. stmt = conn.prepareStatement(sql);
  39.  
  40. ResultSet rs = stmt.executeQuery();
  41.  
  42. while (rs.next()) {
  43. String spnr = rs.getString("spnr");
  44. String sname = rs.getString("sname");
  45. String sadress = rs.getString("sadress");
  46. String stel = rs.getString("stel");
  47.  
  48. Student student = new Student(spnr, sname, sadress, stel);
  49. students.add(student);
  50.  
  51. }
  52. stmt.close();
  53. conn.close();
  54. } catch (Exception e) {
  55. e.printStackTrace();
  56. }
  57. return students;
  58. }
  59.  
  60. public Student getStudentBySpnr(String pnr) {
  61.  
  62. Student student = null;
  63.  
  64. try {
  65. conn = getConnection();
  66.  
  67. String sql = "select * from student where spnr = ?";
  68.  
  69. stmt = conn.prepareStatement(sql);
  70.  
  71. stmt.setString(1, pnr);
  72.  
  73. ResultSet rs = stmt.executeQuery();
  74.  
  75. while (rs.next()) {
  76. String spnr = rs.getString("spnr");
  77. String sname = rs.getString("sname");
  78. String sadress = rs.getString("sadress");
  79. String stel = rs.getString("stel");
  80.  
  81. student = new Student(spnr, sname, sadress, stel);
  82.  
  83. }
  84. stmt.close();
  85. conn.close();
  86. } catch (Exception e) {
  87. System.out.println(e);
  88. }
  89.  
  90. return student;
  91. }
  92.  
  93. public ArrayList<Student> getAllStudentsBySname(String name) {
  94.  
  95. ArrayList<Student> students = new ArrayList<Student>();
  96. try {
  97. conn = getConnection();
  98. String sql = "select * from student where sname = ?";
  99.  
  100. stmt = conn.prepareStatement(sql);
  101. stmt.setString(1, name);
  102.  
  103. ResultSet rs = stmt.executeQuery();
  104.  
  105. while (rs.next()) {
  106. String spnr = rs.getString("spnr");
  107. String sname = rs.getString("sname");
  108. String sadress = rs.getString("sadress");
  109. String stel = rs.getString("stel");
  110.  
  111. Student student = new Student(spnr, sname, sadress, stel);
  112. students.add(student);
  113.  
  114. }
  115. stmt.close();
  116. conn.close();
  117. } catch (Exception e) {
  118. e.printStackTrace();
  119. }
  120. return students;
  121. }
  122.  
  123. public ArrayList<Student> getAllStudentsBySadress(String adress) {
  124.  
  125. ArrayList<Student> students = new ArrayList<Student>();
  126. try {
  127. conn = getConnection();
  128. String sql = "select * from student where sadress = ?";
  129.  
  130. stmt = conn.prepareStatement(sql);
  131. stmt.setString(1, adress);
  132.  
  133. ResultSet rs = stmt.executeQuery();
  134.  
  135. while (rs.next()) {
  136. String spnr = rs.getString("spnr");
  137. String sname = rs.getString("sname");
  138. String sadress = rs.getString("sadress");
  139. String stel = rs.getString("stel");
  140.  
  141. Student student = new Student(spnr, sname, sadress, stel);
  142. students.add(student);
  143.  
  144. }
  145. stmt.close();
  146. conn.close();
  147. } catch (Exception e) {
  148. e.printStackTrace();
  149. }
  150. return students;
  151. }
  152.  
  153. public ArrayList<Student> getAllStudentsByStel(String tel) {
  154.  
  155. ArrayList<Student> students = new ArrayList<Student>();
  156. try {
  157. conn = getConnection();
  158. String sql = "select * from student where stel = ?";
  159.  
  160. stmt = conn.prepareStatement(sql);
  161. stmt.setString(1, tel);
  162.  
  163. ResultSet rs = stmt.executeQuery();
  164.  
  165. while (rs.next()) {
  166. String spnr = rs.getString("spnr");
  167. String sname = rs.getString("sname");
  168. String sadress = rs.getString("sadress");
  169. String stel = rs.getString("stel");
  170.  
  171. Student student = new Student(spnr, sname, sadress, stel);
  172. students.add(student);
  173.  
  174. }
  175. stmt.close();
  176. conn.close();
  177. } catch (Exception e) {
  178. e.printStackTrace();
  179. }
  180. return students;
  181. }
  182.  
  183. public ArrayList<Course> getAllCourses() {
  184. ArrayList<Course> courses = new ArrayList<Course>();
  185. try {
  186. conn = getConnection();
  187. String sql = "select * from course";
  188.  
  189. stmt = conn.prepareStatement(sql);
  190.  
  191. ResultSet rs = stmt.executeQuery();
  192.  
  193. while (rs.next()) {
  194. String ccode = rs.getString("ccode");
  195. String cname = rs.getString("cname");
  196. int point = rs.getInt("point");
  197.  
  198. Course course = new Course(ccode, cname, point);
  199. courses.add(course);
  200.  
  201. }
  202. stmt.close();
  203. conn.close();
  204. } catch (Exception e) {
  205. e.printStackTrace();
  206. }
  207. return courses;
  208.  
  209. }
  210.  
  211. public Course getCourseByCcode(String code) {
  212.  
  213. Course course = null;
  214.  
  215. try {
  216. conn = getConnection();
  217.  
  218. String sql = "select * from course where ccode = ?";
  219.  
  220. stmt = conn.prepareStatement(sql);
  221.  
  222. stmt.setString(1, code);
  223.  
  224. ResultSet rs = stmt.executeQuery();
  225.  
  226. while (rs.next()) {
  227. String ccode = rs.getString("ccode");
  228. String cname = rs.getString("cname");
  229. int point = rs.getInt("point");
  230.  
  231. course = new Course(ccode, cname, point);
  232.  
  233. }
  234. stmt.close();
  235. conn.close();
  236. } catch (Exception e) {
  237. e.printStackTrace();
  238. }
  239.  
  240. return course;
  241. }
  242.  
  243. public ArrayList<Course> getAllCoursesByCname(String name) {
  244. ArrayList<Course> courses = new ArrayList<Course>();
  245.  
  246. try {
  247. conn = getConnection();
  248.  
  249. String sql = "select * from course where cname = ?";
  250.  
  251. stmt = conn.prepareStatement(sql);
  252.  
  253. stmt.setString(1, name);
  254.  
  255. ResultSet rs = stmt.executeQuery();
  256.  
  257. while (rs.next()) {
  258. String ccode = rs.getString("ccode");
  259. String cname = rs.getString("cname");
  260. int point = rs.getInt("point");
  261.  
  262. Course course = new Course(ccode, cname, point);
  263. courses.add(course);
  264. }
  265. stmt.close();
  266. conn.close();
  267. } catch (Exception e) {
  268. e.printStackTrace();
  269. }
  270.  
  271. return courses;
  272. }
  273.  
  274. public ArrayList<Course> getAllCoursesByCpoint(int points) {
  275. ArrayList<Course> courses = new ArrayList<Course>();
  276.  
  277. try {
  278. conn = getConnection();
  279.  
  280. String sql = "select * from course where point = ?";
  281.  
  282. stmt = conn.prepareStatement(sql);
  283.  
  284. stmt.setInt(1, points);
  285.  
  286. ResultSet rs = stmt.executeQuery();
  287.  
  288. while (rs.next()) {
  289. String ccode = rs.getString("ccode");
  290. String cname = rs.getString("cname");
  291. int point = rs.getInt("point");
  292.  
  293. Course course = new Course(ccode, cname, point);
  294. courses.add(course);
  295. }
  296. stmt.close();
  297. conn.close();
  298. } catch (Exception e) {
  299. e.printStackTrace();
  300. }
  301. return courses;
  302. }
  303.  
  304. public ArrayList<Course> getAllStudiesBySpnr(Student s){
  305.  
  306. ArrayList<Course> courses = new ArrayList<Course>();
  307.  
  308.  
  309. try {
  310. conn = getConnection();
  311.  
  312. String sql = "select c.ccode, c.cname, c.point from studies s join course c on s.ccode = c.ccode where spnr = ?";
  313.  
  314. stmt = conn.prepareStatement(sql);
  315.  
  316. stmt.setString(1, s.getSpnr());
  317.  
  318. ResultSet rs = stmt.executeQuery();
  319.  
  320. while (rs.next()) {
  321. String ccode = rs.getString("ccode");
  322. String cname = rs.getString("cname");
  323. int point = rs.getInt("point");
  324.  
  325. Course course = new Course(ccode, cname, point);
  326. courses.add(course);
  327. }
  328. stmt.close();
  329. conn.close();
  330. } catch (Exception e) {
  331. e.printStackTrace();
  332. }
  333.  
  334. return courses;
  335.  
  336. }
  337.  
  338. //FRÅGA OM!!!
  339. // public ArrayList<Course> getAllStudiedBySpnr(Student s){
  340.  
  341. // }
  342.  
  343. public void createStudent(Student s) {
  344.  
  345. String sql = "insert into student values(?,?,?,?)";
  346.  
  347. try {
  348. conn = getConnection();
  349.  
  350. stmt = conn.prepareStatement(sql);
  351.  
  352. stmt.setString(1, s.getSpnr());
  353. stmt.setString(2, s.getSname());
  354. stmt.setString(3, s.getSadress());
  355. stmt.setString(4, s.getStel());
  356.  
  357. stmt.executeUpdate();
  358.  
  359. stmt.close();
  360. conn.close();
  361.  
  362. } catch (Exception e) {
  363. e.printStackTrace();
  364. }
  365.  
  366. }
  367.  
  368. public void createCourse(Course c) {
  369.  
  370. String sql = "insert into course values(?,?,?)";
  371.  
  372. try {
  373. conn = getConnection();
  374.  
  375. stmt = conn.prepareStatement(sql);
  376.  
  377. stmt.setString(1, c.getCcode());
  378. stmt.setString(2, c.getCname());
  379. stmt.setInt(3, c.getPoints());
  380.  
  381. stmt.executeUpdate();
  382.  
  383. stmt.close();
  384. conn.close();
  385.  
  386. } catch (Exception e) {
  387. e.printStackTrace();
  388. }
  389. }
  390.  
  391. public void updateStudent(Student s) {
  392.  
  393. String sql = "update student set sname = ?, sadress = ?, stel = ? where spnr = ?";
  394.  
  395. try {
  396. conn = getConnection();
  397. stmt = conn.prepareStatement(sql);
  398.  
  399. stmt.setString(1, s.getSname());
  400. stmt.setString(2, s.getSadress());
  401. stmt.setString(3, s.getStel());
  402. stmt.setString(4, s.getSpnr());
  403.  
  404. stmt.executeUpdate();
  405.  
  406. stmt.close();
  407. conn.close();
  408.  
  409. } catch (Exception e) {
  410. e.printStackTrace();
  411. }
  412.  
  413. }
  414.  
  415. public void updateCourse(Course c) {
  416.  
  417. String sql = "update course set cname = ?, point = ? where ccode = ?";
  418.  
  419. try {
  420. conn = getConnection();
  421. stmt = conn.prepareStatement(sql);
  422.  
  423. stmt.setString(1, c.getCname());
  424. stmt.setInt(2, c.getPoints());
  425. stmt.setString(3, c.getCcode());
  426.  
  427. stmt.executeUpdate();
  428.  
  429. stmt.close();
  430. conn.close();
  431.  
  432. } catch (Exception e) {
  433. e.printStackTrace();
  434. }
  435.  
  436. }
  437.  
  438. public void registerStudies(Student s, Course c) {
  439.  
  440. String sql = "insert into studies values (?,?)";
  441.  
  442. try {
  443.  
  444. conn = getConnection();
  445.  
  446. stmt = conn.prepareStatement(sql);
  447.  
  448. stmt.setString(1, s.getSpnr());
  449. stmt.setString(2, c.getCcode());
  450.  
  451. stmt.executeUpdate();
  452.  
  453. stmt.close();
  454. conn.close();
  455.  
  456. } catch (Exception e) {
  457. e.printStackTrace();
  458. }
  459.  
  460. }
  461.  
  462. public void registerStudied(Student s, Course c, String grade) {
  463.  
  464. String sql = "insert into studied values (?,?,?)";
  465.  
  466. try {
  467.  
  468. conn = getConnection();
  469.  
  470. stmt = conn.prepareStatement(sql);
  471.  
  472. stmt.setString(1, s.getSpnr());
  473. stmt.setString(2, c.getCcode());
  474. stmt.setString(3, grade);
  475.  
  476. stmt.executeUpdate();
  477.  
  478. stmt.close();
  479. conn.close();
  480.  
  481. removeStudies(s, c);
  482.  
  483. } catch (Exception e) {
  484. e.printStackTrace();
  485. }
  486.  
  487. }
  488.  
  489. public void removeStudies(Student s, Course c) {
  490.  
  491. String sql = "delete from studies where spnr = ? and ccode = ?";
  492.  
  493. try {
  494. conn = getConnection();
  495.  
  496. stmt = conn.prepareStatement(sql);
  497.  
  498. stmt.setString(1, s.getSpnr());
  499. stmt.setString(2, c.getCcode());
  500.  
  501. stmt.executeUpdate();
  502.  
  503. stmt.close();
  504. conn.close();
  505.  
  506. } catch (Exception e) {
  507. e.printStackTrace();
  508. }
  509.  
  510. }
  511.  
  512. public ArrayList<Student> getAllStudentsStudied(Course c) {
  513.  
  514. ArrayList<Student> students = new ArrayList<Student>();
  515. try {
  516.  
  517. conn = getConnection();
  518. String sql = "select s.spnr, s.sname, sd.grade from studied sd join student s on sd.spnr = s.spnr where ccode = ?";
  519.  
  520. stmt = conn.prepareStatement(sql);
  521.  
  522. stmt.setString(1, c.getCcode());
  523.  
  524. ResultSet rs = stmt.executeQuery();
  525.  
  526. while (rs.next()) {
  527. String spnr = rs.getString("spnr");
  528. String sname = rs.getString("sname");
  529. String grade = rs.getString("grade");
  530. String stel = null;
  531.  
  532. Student student = new Student(spnr, sname, grade, stel);
  533. students.add(student);
  534.  
  535. }
  536. stmt.close();
  537. conn.close();
  538.  
  539. } catch (Exception e) {
  540. e.printStackTrace();
  541. }
  542. return students;
  543. }
  544.  
  545.  
  546. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement