Guest User

Untitled

a guest
Oct 31st, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.26 KB | None | 0 0
  1. package sql_interaction;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.PreparedStatement;
  6. import java.sql.ResultSet;
  7. import java.sql.Statement;
  8. import java.util.ArrayList;
  9.  
  10. import domain.Employee;
  11. import domain.Item;
  12.  
  13. public class Item_sql
  14. {
  15.     // jdbc protocol
  16.     private static String dbname = "REMOVED";
  17.     private static String db_username = "REMOVED";
  18.     private static String db_password = "REMOVED";
  19.    
  20.     private Connection connection = null;
  21.     private Statement statement = null;
  22.     private ResultSet queryResult = null;
  23.     private PreparedStatement pstmt = null;
  24.     private static String query = "";
  25.    
  26.     //Constructor
  27.     /**
  28.      * Takes a newItem and add it to the database
  29.      * @param newItem
  30.      */
  31.     public void addNewItem(Item newItem, Employee emp)
  32.     {
  33.         Integer id_cardinality = 0;
  34.         try
  35.         {
  36.             Class.forName("com.mysql.jdbc.Driver").newInstance();
  37.             connection = DriverManager.getConnection(dbname, db_username, db_password);
  38.             // *******************      Generates the new id for the new Item   *********************
  39.            
  40.             query = "SELECT MAX(Item_id) FROM Item";
  41.             statement=connection.createStatement();;
  42.             queryResult = statement.executeQuery(query);
  43.            
  44.             queryResult.next();
  45.            
  46.             id_cardinality = Integer.parseInt(queryResult.getObject(1).toString());
  47.             id_cardinality++; //increase Item_id by 1, for the new Item
  48.             newItem.setItem_id(id_cardinality.toString());
  49.             //*************************     Insert new Item into the DB     ****************
  50.             query = "INSERT INTO Item VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
  51.            
  52.             pstmt = connection.prepareStatement(query);
  53.             pstmt.clearParameters();
  54.             pstmt.setString(1, newItem.getItem_id());
  55.             pstmt.setString(2, newItem.getItem_name());
  56.             pstmt.setString(3, newItem.getCategory());
  57.             pstmt.setString(4, newItem.getSize());
  58.             pstmt.setString(5, newItem.getAvailable());
  59.             pstmt.setString(6, newItem.getCost());
  60.             pstmt.setString(7, newItem.getSales_price());
  61.             pstmt.setString(8, emp.getEmployee_id());
  62.             pstmt.executeUpdate();
  63.              
  64.             connection.close();
  65.         } catch (Exception e)
  66.         {
  67.             System.out.println(e.getMessage());
  68.         }
  69.     }
  70.    
  71.     /**
  72.      * Upgrade item onto the database
  73.      * @param newItem
  74.      */
  75.     public void updateItem(Item upgradeItem)
  76.     {
  77.         try
  78.         {
  79.             Class.forName("com.mysql.jdbc.Driver").newInstance();
  80.             connection = DriverManager.getConnection(dbname, db_username, db_password);
  81.            
  82.             //*************************     Insert new Item into the DB     ****************
  83.             query = "UPDATE Item SET Item_name = ?,Category = ?, Size = ?, Available = ?, Cost = ?, Sales_Price = ? " +
  84.                     "WHERE Item_id = ?";
  85.            
  86.             pstmt = connection.prepareStatement(query);
  87.             pstmt.clearParameters();
  88.             pstmt.setString(1, upgradeItem.getItem_name());
  89.             pstmt.setString(2, upgradeItem.getCategory());
  90.             pstmt.setString(3, upgradeItem.getSize());
  91.             pstmt.setString(4, upgradeItem.getAvailable());
  92.             pstmt.setString(5, upgradeItem.getCost());
  93.             pstmt.setString(6, upgradeItem.getSales_price());
  94.             pstmt.setString(7, upgradeItem.getItem_id());
  95.            
  96.             pstmt.executeUpdate();
  97.              
  98.             connection.close();
  99.         } catch (Exception e)
  100.         {
  101.             System.out.println(e.getMessage());
  102.         }
  103.     }
  104.     /**
  105.      * Select query
  106.      * @param id
  107.      * @return
  108.      */
  109.     public ArrayList<Item> selectItem(String id)
  110.     {
  111.         ArrayList<Item> arrayItems = new ArrayList<Item>();
  112.         Item tempItem = null;
  113.         try
  114.         {
  115.             Class.forName("com.mysql.jdbc.Driver").newInstance();
  116.             connection = DriverManager.getConnection(dbname, db_username, db_password);
  117.            
  118.             //*************************     Insert new Employee into the DB     ****************
  119.             // Select street FROM MyTable WHERE street LIKE '%Peninsula%'
  120.  
  121.             if (id.matches("") || id.matches("<Search Product Name>")) // display the complete table
  122.             {
  123.                 query = "SELECT * FROM Item ORDER BY Item_name";
  124.             } else // partial string searchable
  125.             {
  126.                 query = "SELECT * FROM Item WHERE Item_name LIKE \"%" + id +"%\"";
  127.             }
  128.            
  129.             statement = connection.createStatement();
  130.             queryResult = statement.executeQuery(query);
  131.  
  132.             //queryResult.next();
  133.             while(queryResult.next())
  134.             {
  135.                 tempItem = new Item(
  136.                         queryResult.getObject(1).toString(),
  137.                         queryResult.getObject(2).toString(),
  138.                         queryResult.getObject(3).toString(),
  139.                         queryResult.getObject(4).toString(),
  140.                         queryResult.getObject(5).toString(),
  141.                         queryResult.getObject(6).toString(),
  142.                         queryResult.getObject(7).toString());
  143.    
  144.                 arrayItems.add(tempItem);
  145.             }
  146.              connection.close();
  147.              
  148.         } catch (Exception e)
  149.         {
  150.             System.out.println(e.getMessage());
  151.         }
  152.         return arrayItems;
  153.     }
  154.     /**
  155.      * Reduce Item availability
  156.      * @param newItem
  157.      */
  158.     public void reduceAvilability(String upgradeItem)
  159.     {
  160.         try
  161.         {
  162.             Class.forName("com.mysql.jdbc.Driver").newInstance();
  163.             connection = DriverManager.getConnection(dbname, db_username, db_password);
  164.            
  165.             //*************************     Insert new Item into the DB     ****************
  166.             query = "UPDATE Item SET  Available = Available - 1 " +
  167.                     "WHERE Item_id = ?";
  168.            
  169.             pstmt = connection.prepareStatement(query);
  170.             pstmt.clearParameters();
  171.             pstmt.setString(1, upgradeItem);
  172.            
  173.             pstmt.executeUpdate();
  174.              
  175.             connection.close();
  176.         } catch (Exception e)
  177.         {
  178.             System.out.println(e.getMessage());
  179.         }
  180.     }
  181. }
Add Comment
Please, Sign In to add comment