Advertisement
kris7853

Opret/tilføj objekter

Apr 12th, 2016
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 6.02 KB | None | 0 0
  1.  
  2. //DAO
  3. package eksamensklasser_blog;
  4.  
  5. import java.sql.Connection;
  6. import java.sql.PreparedStatement;
  7. import java.sql.ResultSet;
  8. import java.sql.SQLException;
  9. import java.util.ArrayList;
  10.  
  11. import dk.au.hum.imv.persistence.db.DatabasePersistent;
  12. import dk.au.hum.imv.persistence.db.JDBCConnectionFactory;
  13.  
  14. public class BlogDao extends DatabasePersistent {
  15.  
  16.     public static Blog getBlogById(long id) {
  17.         Blog result = null;
  18.         Connection con = null;
  19.        
  20.         try {
  21.             con = JDBCConnectionFactory.getNewConnection();
  22.             String sql = "SELECT * FROM blog WHERE id_blog = ?";
  23.             PreparedStatement prepStat = con.prepareStatement(sql);
  24.             prepStat.setLong(1, id);
  25.             ResultSet res = prepStat.executeQuery();
  26.            
  27.             while (res.next()) {
  28.             result = createBlogFromResultSet(res);
  29.            
  30.             }
  31.         }  
  32.         catch (SQLException e) {
  33.             e.printStackTrace();
  34.         } finally {
  35.             JDBCConnectionFactory.closeConnection(con);
  36.         }
  37.         return result;
  38.         }  
  39.  
  40.     public static ArrayList<Blog> getAllBlogs() {
  41.         ArrayList<Blog> result = new ArrayList<Blog>();
  42.         Connection con = null;
  43.        
  44.         try {
  45.             con = JDBCConnectionFactory.getNewConnection();
  46.             String sql = "SELECT * FROM blog";
  47.             PreparedStatement prep = con.prepareStatement(sql);
  48.             ResultSet res = prep.executeQuery();
  49.             while (res.next()) {
  50.                 Blog blog = createBlogFromResultSet(res);
  51.                 result.add(blog);
  52.             }
  53.         } catch (SQLException e) {
  54.             e.printStackTrace();
  55.         } finally {
  56.             JDBCConnectionFactory.closeConnection(con);
  57.         }
  58.         return result;
  59.        
  60.     }
  61.    
  62.     static Blog createBlogFromResultSet(ResultSet res) throws SQLException {
  63.         Blog blog = null;
  64.        
  65.         String subject = res.getString("blog.blog_subject");
  66.         int id = res.getInt("blog.id_blog");
  67.        
  68.         blog = new Blog(subject, id);
  69.         return blog;
  70.     }
  71.    
  72.     public static void saveBlog(Blog blog) {   
  73.         Connection con = null;
  74.        
  75.         try {
  76.             con = JDBCConnectionFactory.getNewConnection();
  77.             String sql = "";
  78.             if (!blog.isInDatabase()) { //insert
  79.                 sql = "INSERT INTO blog (blog_subject) " +
  80.                 "VALUES (?)";
  81.             } else { //update
  82.                 sql = "UPDATE blog SET blog_subject = ?" +
  83.                 "WHERE id = ?";
  84.             }
  85.             PreparedStatement prep = con.prepareStatement(sql);
  86.             prep.setString(1, blog.getBlogSubject());
  87.             if (blog.isInDatabase()) { //hvis bogen er i DB skal vi huske at sætte kriteriet for hvilken bog vi skal opdatere
  88.                 prep.setLong(2, blog.getDatabaseId());
  89.             }      
  90.             prep.executeUpdate();
  91.  
  92.         } catch (SQLException e) {
  93.             e.printStackTrace();
  94.         } finally {
  95.             JDBCConnectionFactory.closeConnection(con);
  96.         }
  97.     }  
  98.    
  99.     public static ArrayList<Blog> findBlog(String searchString) {
  100.         ArrayList<Blog> result = new ArrayList<Blog>();
  101.         Connection con = null;
  102.        
  103.         try {
  104.             con = JDBCConnectionFactory.getNewConnection();
  105.             String sql = "SELECT * FROM blog WHERE id_blog LIKE ? OR blog_subject LIKE ?";
  106.            
  107.             PreparedStatement prep = con.prepareStatement(sql);
  108.             prep.setString(1, "%" + searchString + "%"); //vi tilføjer % til vores søgning, sÃ¥ vi søger pÃ¥ alt der starter med brugerens input
  109.             prep.setString(2, "%" + searchString + "%");//uden % på begge sider af searchString, ville den ikke kunne søge på tværs af ordene
  110.             ResultSet res = prep.executeQuery();
  111.                        
  112.             while (res.next()) {
  113.                 Blog blog = createBlogFromResultSet(res);
  114.                 result.add(blog);
  115.             }  
  116.  
  117.         } catch (SQLException e) {
  118.             e.printStackTrace();
  119.         } finally {
  120.             JDBCConnectionFactory.closeConnection(con);
  121.         }
  122.         return result;
  123.     }
  124. }
  125.  
  126.  
  127.  
  128.  
  129. //OPRET NYT OBJEKT + SØG - SØGNING VIRKER
  130. <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
  131.     pageEncoding="ISO-8859-1"%>
  132. <jsp:include page = "css/Eksamen.css/"/>
  133. <!DOCTYPE html>
  134. <html>
  135.     <head>
  136.     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  137.     <title>Opret en blog</title>
  138.     </head>
  139.     <%@ page import="dk.au.hum.imv.persistence.db.JDBCConnectionFactory, eksamensklasser_blog.*, java.util.*, java.sql.*"%>
  140.     <%
  141.     String title = request.getParameter("titel");
  142.     String createButton = request.getParameter("create");
  143.    
  144.     if (createButton != null) {
  145.         JDBCConnectionFactory.initManualConnectionHandling("jdbc:mysql://student.hum.au.dk/u201506592",
  146.             "u201506592", "wu2b9H2R", "com.mysql.jdbc.Driver");
  147.         Blog blog1 = new Blog(title);
  148.         BlogDao.saveBlog(blog1);
  149.     }
  150.     %>
  151.    
  152.     <body>
  153.     <h1>Opret en ny blog</h1>
  154.     <form action="display_blog.jsp" method="post">
  155.     <fieldset>
  156.     <table>
  157.         <tr>
  158.             <td align="right">Blog-emne:</td>
  159.             <td><input type="text" name="title"></td>
  160.         </tr>
  161.         <tr>
  162.             <td></td>
  163.             <td><br><input type="submit" name ="create" value="Opret"></td>
  164.     </table>
  165.     </fieldset>
  166.     </form>
  167.    
  168.     <h1>Søg efter blog</h1>
  169.     <form action="display_blog.jsp" method="get">
  170.         <fieldset>
  171.             <input type="text" name="search"/>
  172.             <input type="submit" value="Søg"/>
  173.         </fieldset>
  174.     </form>
  175.  
  176.  
  177. </body>
  178. </html>
  179.  
  180.  
  181. //VIS NYT OBJEKT OG/ELLER SØGNING
  182. <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
  183.     pageEncoding="ISO-8859-1"%>
  184. <!DOCTYPE html>
  185. <html>
  186.     <head>
  187.     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  188.     <title>Create blog/search blog</title>
  189.     </head>
  190.     <%@ page import="dk.au.hum.imv.persistence.db.JDBCConnectionFactory, eksamensklasser_blog.*, java.util.*, java.sql.*"%>
  191.     <%
  192.     JDBCConnectionFactory.initManualConnectionHandling("jdbc:mysql://student.hum.au.dk/u201506592",
  193.             "u201506592", "wu2b9H2R", "com.mysql.jdbc.Driver");
  194.    
  195.     ArrayList<Blog> blogs = null;
  196.    
  197.     String search = request.getParameter("search");
  198.         if (search != null && !search.equals("")) {
  199.             blogs = BlogDao.findBlog(search);
  200.         } else {
  201.             blogs = BlogDao.getAllBlogs();
  202.         }
  203.    
  204.     %>
  205.     <body>
  206.     <%
  207.         String titel = request.getParameter("title");  
  208.     %>
  209.         <h1>Nu har du oprettet en blog med emnet:</h1>
  210.         <table>
  211.             <tr>
  212.                 <td><%= titel %></td>
  213.             </tr>
  214.         </table>
  215.    
  216.    
  217.     <h1>Du fandt følgende blogs:</h1>
  218.     <table>
  219.         <tr>
  220.             <th>Emne</th>
  221.         </tr>
  222.    
  223.         <%
  224.         for (Blog blog : blogs) {
  225.         %>
  226.         <tr>
  227.             <td><%=blog.getBlogSubject()%></td>
  228.         </tr>
  229.        
  230.         <%
  231.         }
  232.         %>
  233.     </table>
  234.    
  235.     </body>
  236. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement