Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions JDBC-Assignment--master/DBUtil.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.wipro.sales.util;

import java.sql.*;

public class DBUtil {
static String db_url = "jdbc:oracle:thin:@localhost:1521:xe";
static Connection con = null;
static String user = "username";
static String pass = "password";
public static Connection getDBConnection() {
try {
con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521", "scott", "tiger");
return con;
} catch (SQLException e) {
System.out.println("Connection could not be estanlished");
e.printStackTrace();
return null;
}
}
}
41 changes: 41 additions & 0 deletions JDBC-Assignment--master/Database.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
CREATE TABLE TBL_STOCK (
Product_ID Varchar2(6),
Product_Name Varchar2(20),
Quantity_On_Hand Number(11),
Product_Unit_Price Number(11,2),
Reorder_Level Number(11),
CONSTRAINT PK00 PRIMARY KEY(Product_ID),
CONSTRAINT UQ01 UNIQUE(Product_Name),
CONSTRAINT CH02 CHECK(Quantity_On_Hand >= 0),
CONSTRAINT CH03 CHECK(Product_Unit_Price >= 0),
CONSTRAINT CH04 CHECK(Reorder_Level >= 0)
);

CREATE TABLE TBL_SALES (
Sales_ID Varchar2(6),
Sales_Date Date,
Product_ID Varchar2(6),
Quantity_Sold Number(11),
Sales_Price_Per_Unit Number(11,2),
CONSTRAINT PK10 PRIMARY KEY(Sales_ID),
CONSTRAINT FK11 FOREIGN KEY(Product_ID) REFERENCES TBL_STOCK(Product_ID),
CONSTRAINT CH12 CHECK(Quantity_Sold >= 0),
CONSTRAINT CH13 CHECK(Sales_Price_Per_Unit >= 0)
);

INSERT INTO TBL_STOCK VALUES('RE1001', 'REDMI Note 3', 20, 12000, 5);
INSERT INTO TBL_STOCK VALUES('ip1002', 'Iphone 5S', 10, 21000, 2);
INSERT INTO TBL_STOCK VALUES('PA1003', 'Panasonic P55', 50, 5500, 5);

DROP SEQUENCE SEQ_SALES_ID;
DROP SEQUENCE SEQ_PRODUCT_ID;
CREATE SEQUENCE SEQ_SALES_ID START WITH 1000 INCREMENT BY 1;
CREATE SEQUENCE SEQ_PRODUCT_ID START WITH 1004 INCREMENT BY 1;

DROP VIEW V_SALES_REPORT;
CREATE VIEW V_SALES_REPORT AS
SELECT Sales_ID, Sales_Date, Product_ID, Product_Name,
Quantity_Sold, Product_Unit_Price, Sales_Price_Per_Unit,
(Sales_Price_Per_Unit - Product_Unit_Price) Profit_Amount
FROM TBL_STOCK NATURAL JOIN TBL_SALES
ORDER BY Profit_Amount DESC, Sales_ID ASC;
2 changes: 2 additions & 0 deletions JDBC-Assignment--master/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# JDBC-Assignment-
20th March is deadline and upload assignment or project with your roll number, name and section.
96 changes: 96 additions & 0 deletions JDBC-Assignment--master/SalesDao.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
package com.wipro.sales.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.*;

import com.wipro.sales.bean.*;
import com.wipro.sales.bean.SalesReport;
import com.wipro.sales.util.DBUtil;

public class SalesDao {


public int insertSales(Sales salesobj) {
Connection conn = null;
PreparedStatement pstmt = null;
String sql = "INSERT INTO TBL_SALES VALUES(?, ?, ?, ?, ?)";
java.sql.Date sqlDate = new java.sql.Date(salesobj.getSalesDate().getTime());

try {
conn = DBUtil.getDBConnection();
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, salesobj.getSalesID());
pstmt.setDate(2, sqlDate);
pstmt.setString(3, salesobj.getProductID());
pstmt.setInt(4, salesobj.getQuantitySold());
pstmt.setDouble(5, salesobj.getSalesPricePerUnit());

if (pstmt.executeUpdate() == 1) return 1;
else return 0;
} catch (SQLException e) {
e.printStackTrace();
return 0;
}
}


public String generateSalesID(Date salesDate) {
Connection conn = null;
PreparedStatement pstmt = null;
String sql = "SELECT SEQ_SALES_ID.NEXTVAL FROM DUAL";

int SEQ_SALES_ID = 0;
String out = salesDate.toString().substring(salesDate.toString().length()-2, salesDate.toString().length());

try {
conn = DBUtil.getDBConnection();
pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();

rs.next();
SEQ_SALES_ID = rs.getInt(1);

out += SEQ_SALES_ID;
return out;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}



public ArrayList<SalesReport> getSalesReport(){
Connection conn = null;
PreparedStatement pstmt = null;
String sql = "SELECT * FROM V_SALES_REPORT";

ArrayList<SalesReport> list = new ArrayList<SalesReport>();

try {
conn = DBUtil.getDBConnection();
pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();

while (rs.next()) {
SalesReport salesReport = new SalesReport();
salesReport.setSalesID(rs.getString(1));
salesReport.setSalesDate(rs.getDate(2));
salesReport.setProductID(rs.getString(3));
salesReport.setProductName(rs.getString(4));
salesReport.setQuantitySold(rs.getInt(5));
salesReport.setProductUnitPrice(rs.getDouble(6));
salesReport.setSalesPricePerUnit(rs.getDouble(7));
salesReport.setProfitAmount(rs.getDouble(8));
list.add(salesReport);
}
} catch (SQLException e) {
e.printStackTrace();
return null;
}

return list;
}
}
61 changes: 61 additions & 0 deletions JDBC-Assignment--master/SalesReport.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
package com.wipro.sales.bean;

public class SalesReport {
String salesID;
java.util.Date salesDate;
String productID;
String productName;
int quantitySold;
double productUnitPrice;
double salesPricePerUnit;
double profitAmount;
public String getSalesID() {
return salesID;
}
public void setSalesID(String salesID) {
this.salesID = salesID;
}
public java.util.Date getSalesDate() {
return salesDate;
}
public void setSalesDate(java.util.Date salesDate) {
this.salesDate = salesDate;
}
public String getProductID() {
return productID;
}
public void setProductID(String productID) {
this.productID = productID;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public int getQuantitySold() {
return quantitySold;
}
public void setQuantitySold(int quantitySold) {
this.quantitySold = quantitySold;
}
public double getProductUnitPrice() {
return productUnitPrice;
}
public void setProductUnitPrice(double productUnitPrice) {
this.productUnitPrice = productUnitPrice;
}
public double getSalesPricePerUnit() {
return salesPricePerUnit;
}
public void setSalesPricePerUnit(double salesPricePerUnit) {
this.salesPricePerUnit = salesPricePerUnit;
}
public double getProfitAmount() {
return profitAmount;
}
public void setProfitAmount(double profitAmount) {
this.profitAmount = profitAmount;
}

}
40 changes: 40 additions & 0 deletions JDBC-Assignment--master/Stock.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package com.wipro.sales.bean;

public class Stock {
String productID;
String productName;
int quantityOnHand;
double productUnitPrice;
int reorderLevel;
public String getProductID() {
return productID;
}
public void setProductID(String productID) {
this.productID = productID;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public int getQuantityOnHand() {
return quantityOnHand;
}
public void setQuantityOnHand(int quantityOnHand) {
this.quantityOnHand = quantityOnHand;
}
public double getProductUnitPrice() {
return productUnitPrice;
}
public void setProductUnitPrice(double productUnitPrice) {
this.productUnitPrice = productUnitPrice;
}
public int getReorderLevel() {
return reorderLevel;
}
public void setReorderLevel(int reorderLevel) {
this.reorderLevel = reorderLevel;
}

}
Loading