Running SQL JAVA Code
Project_Menu/.classpath
Project_Menu/.project
Project_Menu org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature
Project_Menu/.settings/org.eclipse.jdt.core.prefs
eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.8
Project_Menu/bin/Menu.class
public synchronized class Menu { static java.util.Scanner scanner; static void <clinit>(); public void Menu(); private static void clrScreen(); public static util.Pair drawUserSubMenu(); public static void drawOrderSubMenu(); public static util.Pair drawProductSubMenu(); public static void drawProductionSubMenu(); public static void drawCompanySubMenu(); public static void drawLocationSubMenu(); private static void drawMainMenu(); public static void drawSubMenu(String); public static void main(String[]) throws InterruptedException; }
Project_Menu/bin/model/Product.class
package model; public synchronized class Product { private int productId; private String description; private SqlDbConn sqlDbConn; private java.sql.PreparedStatement ps; private java.sql.ResultSet rs; private java.sql.Connection conn; public void Product(); public void requestProductInfo(); public Exception performRequest(String); public java.sql.Connection openDBConnection(); public int getProductId(); public void setProductId(int); public String getDescription(); public void setDescription(String); public java.sql.Connection getConn(); public void setConn(java.sql.Connection); public String toString(); }
Project_Menu/bin/model/User.class
package model; public synchronized class User { private int userId; private String firstName; private String lastName; private String email; private int active; private java.sql.Timestamp timeStamp; private SqlDbConn sqlDbConn; private java.sql.PreparedStatement ps; private java.sql.ResultSet rs; private java.sql.Connection conn; public void User(); public void requestNewUserInfo(int); public java.sql.Connection openDBConnection(); public void close(); public Exception performRequest(String); public void requestEmail(); public int getUserId(); public void setUserId(int); public String getFirstName(); public void setFirstName(String); public String getLastName(); public void setLastName(String); public String getEmail(); public void setEmail(String); public int getActive(); public void setActive(int); public java.sql.Timestamp getTimeStamp(); public void setTimeStamp(java.sql.Timestamp); public SqlDbConn getSqlDbConn(); public void setSqlDbConn(SqlDbConn); public java.sql.PreparedStatement getPs(); public void setPs(java.sql.PreparedStatement); public java.sql.ResultSet getRs(); public void setRs(java.sql.ResultSet); public java.sql.Connection getConn(); public void setConn(java.sql.Connection); public String toString(); }
Project_Menu/bin/util/Pair.class
package util; public synchronized class Pair { private Object x; private Object y; public void Pair(); public void Pair(Object, Object); public Object getX(); public void setX(Object); public Object getY(); public void setY(Object); public String toString(); }
Project_Menu/bin/util/Util.class
package util; public synchronized class Util { public void Util(); public static String isEmptyorNull(String); public static int convertStringToInt(String); public static double convertStringToDouble(String); public static float convertStringToFloat(String); public static java.util.Date today(); public static java.sql.Timestamp todayTimeStamp(); }
Project_Menu/src/Menu.java
Project_Menu/src/Menu.java
import
java
.
util
.
Scanner
;
import
model
.
Product
;
import
model
.
User
;
import
util
.
Pair
;
public
class
Menu
{
static
Scanner
scanner
=
new
Scanner
(
System
.
in
);
private
static
void
clrScreen
()
{
for
(
int
j
=
0
;
j
<=
50
;
j
++
)
{
System
.
out
.
println
(
""
);
}
}
public
static
Pair
<
String
,
String
>
drawUserSubMenu
()
{
clrScreen
();
Pair
<
String
,
String
>
pair
=
new
Pair
<>
();
System
.
out
.
println
(
"User Sub-Menu"
);
System
.
out
.
println
(
"1. Enter New user"
);
System
.
out
.
println
(
"2. Edit User"
);
System
.
out
.
println
(
"3. Delete User"
);
System
.
out
.
println
(
"E. Exit User Sub-Menu"
);
pair
.
setX
(
scanner
.
nextLine
());
if
(
"E"
.
equals
(
pair
.
getX
()))
{
return
pair
;
}
else
if
(
"1"
.
equals
(
pair
.
getX
()))
{
}
else
{
do
{
clrScreen
();
System
.
out
.
println
(
"1. By email"
);
System
.
out
.
println
(
"E. Exit User Sub-Menu"
);
pair
.
setY
(
scanner
.
nextLine
());
if
(
"1E"
.
contains
(
pair
.
getY
()))
{
return
pair
;
}
}
while
(
true
);
}
return
pair
;
}
public
static
void
drawOrderSubMenu
()
{
clrScreen
();
System
.
out
.
println
(
"Order Sub-Menu"
);
System
.
out
.
println
(
"Not supported"
);
}
public
static
Pair
<
String
,
String
>
drawProductSubMenu
()
{
clrScreen
();
Pair
<
String
,
String
>
pair
=
new
Pair
<>
();
System
.
out
.
println
(
"Product Sub-Menu"
);
System
.
out
.
println
(
"1. Enter New Product"
);
System
.
out
.
println
(
"2. Edit Product"
);
System
.
out
.
println
(
"3. Delete Product"
);
System
.
out
.
println
(
"E. Exit Product Sub-Menu"
);
pair
.
setX
(
scanner
.
nextLine
());
if
(
"E"
.
equals
(
pair
.
getX
()))
{
return
pair
;
}
else
if
(
"1"
.
equals
(
pair
.
getX
()))
{
}
else
{
do
{
clrScreen
();
System
.
out
.
println
(
"1. Description"
);
System
.
out
.
println
(
"E. Exit Product Sub-Menu"
);
pair
.
setY
(
scanner
.
nextLine
());
if
(
"1E"
.
contains
(
pair
.
getY
()))
{
return
pair
;
}
}
while
(
true
);
}
return
pair
;
}
public
static
void
drawProductionSubMenu
()
{
clrScreen
();
System
.
out
.
println
(
"Production Sub-Menu"
);
System
.
out
.
println
(
"Not supported"
);
}
public
static
void
drawCompanySubMenu
()
{
clrScreen
();
System
.
out
.
println
(
"Company Sub-Menu"
);
System
.
out
.
println
(
"Not supported"
);
}
public
static
void
drawLocationSubMenu
()
{
clrScreen
();
System
.
out
.
println
(
"Location Sub-Menu"
);
System
.
out
.
println
(
"Not supported"
);
}
private
static
void
drawMainMenu
()
{
clrScreen
();
System
.
out
.
println
(
"Choice \t Menu Option"
);
System
.
out
.
println
(
"-----------------------------------------------"
);
System
.
out
.
println
(
"1. User's"
);
System
.
out
.
println
(
"2. Order's"
);
System
.
out
.
println
(
"3. Product's"
);
System
.
out
.
println
(
"4. Production"
);
System
.
out
.
println
(
"5. Company's"
);
System
.
out
.
println
(
"6. Location's"
);
System
.
out
.
println
(
"E Exit Program"
);
}
public
static
void
drawSubMenu
(
String
choice
)
{
Pair
<
String
,
String
>
myChoice
=
new
Pair
<>
();
switch
(
choice
)
{
case
"1"
:
// User sub menu
do
{
myChoice
=
drawUserSubMenu
();
if
(
"E"
.
equals
(
myChoice
.
getY
())
||
"E"
.
equals
(
myChoice
.
getX
())){
return
;
}
String
mode
=
""
;
//Create a new User named u
User
u
=
new
User
();
// Open Connection to Database
u
.
openDBConnection
();
if
(
null
==
u
.
getConn
()){
System
.
out
.
println
(
"Connection not made..."
);
return
;
}
//Get user input based upon the choice they entered
if
(
"1"
.
equals
(
myChoice
.
getX
())){
mode
=
"new"
;
u
.
requestNewUserInfo
(
1
);
}
else
if
(
"2"
.
equals
(
myChoice
.
getX
())){
mode
=
"edit"
;
u
.
requestEmail
();
//email for select statement
u
.
requestNewUserInfo
(
0
);
}
else
{
mode
=
"delete"
;
u
.
requestEmail
();
}
//do you work here
Exception
e
=
u
.
performRequest
(
mode
);
//Display any errors
if
(
null
==
e
){
if
(
"add"
.
equals
(
mode
)){
System
.
out
.
println
(
"User added. Name: "
+
u
.
getLastName
()
+
", "
+
u
.
getFirstName
());
}
else
if
(
"edit"
.
equals
(
mode
)){
System
.
out
.
println
(
"User updated. Name: "
+
u
.
getLastName
()
+
", "
+
u
.
getFirstName
());
}
else
{
System
.
out
.
println
(
"User added. email: "
+
u
.
getEmail
());
}
}
else
{
System
.
out
.
println
(
e
.
toString
());
}
//close the connection
u
.
close
();
break
;
}
while
(
true
);
break
;
case
"2"
:
// User order menu
do
{
drawOrderSubMenu
();
break
;
}
while
(
true
);
break
;
case
"3"
:
// Product sub menu
do
{
myChoice
=
drawProductSubMenu
();
if
(
"E"
.
equals
(
myChoice
.
getY
())
||
"E"
.
equals
(
myChoice
.
getX
())){
return
;
}
//Get user input based upon the choice they entered
String
mode
=
""
;
Product
p
=
new
Product
();
if
(
"1"
.
equals
(
myChoice
.
getY
())){
mode
=
"new"
;
p
.
requestProductInfo
();
}
else
if
(
"2"
.
equals
(
myChoice
.
getY
())){
mode
=
"edit"
;
p
.
requestProductInfo
();
}
else
{
mode
=
"delete"
;
p
.
requestProductInfo
();
}
//do you work here
Exception
e
=
p
.
performRequest
(
mode
);
break
;
}
while
(
true
);
break
;
case
"4"
:
// Production sub menu
do
{
drawProductionSubMenu
();
break
;
}
while
(
true
);
break
;
case
"5"
:
// Company sub menu
do
{
drawCompanySubMenu
();
break
;
}
while
(
true
);
break
;
case
"6"
:
// Location sub menu
do
{
drawLocationSubMenu
();
break
;
}
while
(
true
);
break
;
case
"E"
:
return
;
default
:
return
;
}
}
/**
*
*
@param
args
*
@throws
InterruptedException
*/
public
static
void
main
(
String
[]
args
)
throws
InterruptedException
{
String
choice
=
""
;
do
{
drawMainMenu
();
choice
=
scanner
.
nextLine
();
if
(
"E"
.
equals
(
choice
))
{
break
;
}
else
{
boolean
found
=
"123456"
.
contains
(
choice
);
if
(
found
){
drawSubMenu
(
choice
);
}
}
choice
=
""
;
Thread
.
sleep
(
2000
);
}
while
(
true
);
System
.
out
.
println
(
"Leaving....."
);
Thread
.
sleep
(
5000
);
scanner
.
close
();
System
.
out
.
println
(
"Done....."
);
}
}
Project_Menu/src/model/Product.java
Project_Menu/src/model/Product.java
package
model
;
import
java
.
sql
.
Connection
;
import
java
.
sql
.
PreparedStatement
;
import
java
.
sql
.
ResultSet
;
import
java
.
util
.
Scanner
;
import
com
.
ut
.
SqlDbConn
;
public
class
Product
{
private
int
productId
;
private
String
description
;
private
SqlDbConn
sqlDbConn
=
null
;
private
PreparedStatement
ps
=
null
;
private
ResultSet
rs
=
null
;
private
Connection
conn
=
null
;
public
void
requestProductInfo
(){
Scanner
scanner
=
new
Scanner
(
System
.
in
);
System
.
out
.
println
(
"Enter the Product Description: "
);
this
.
description
=
scanner
.
nextLine
();
}
public
Exception
performRequest
(
String
mode
){
Exception
e
=
null
;
return
e
;
}
public
Connection
openDBConnection
()
{
conn
=
null
;
try
{
sqlDbConn
=
new
SqlDbConn
();
sqlDbConn
.
setServerName
(
"SQL4250"
);
sqlDbConn
.
setDatabaseName
(
"jifry.lorance"
);
conn
=
sqlDbConn
.
createConnection
();
if
(
!
sqlDbConn
.
isConnected
())
{
//System.out.println("Connection not made...");
conn
=
null
;
}
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
e
.
toString
());
}
return
conn
;
}
public
int
getProductId
()
{
return
productId
;
}
public
void
setProductId
(
int
productId
)
{
this
.
productId
=
productId
;
}
public
String
getDescription
()
{
return
description
;
}
public
void
setDescription
(
String
description
)
{
this
.
description
=
description
;
}
public
Connection
getConn
()
{
return
conn
;
}
public
void
setConn
(
Connection
conn
)
{
this
.
conn
=
conn
;
}
@
Override
public
String
toString
()
{
StringBuilder
builder
=
new
StringBuilder
();
builder
.
append
(
"Product [productId="
);
builder
.
append
(
productId
);
builder
.
append
(
", description="
);
builder
.
append
(
description
);
builder
.
append
(
", conn="
);
builder
.
append
(
conn
);
builder
.
append
(
", ps="
);
builder
.
append
(
ps
);
builder
.
append
(
", rs="
);
builder
.
append
(
rs
);
builder
.
append
(
"]"
);
return
builder
.
toString
();
}
}
Project_Menu/src/model/User.java
Project_Menu/src/model/User.java
package
model
;
import
java
.
sql
.
Connection
;
import
java
.
sql
.
PreparedStatement
;
import
java
.
sql
.
ResultSet
;
import
java
.
sql
.
SQLException
;
import
java
.
sql
.
Timestamp
;
import
java
.
util
.
Scanner
;
import
com
.
ut
.
SqlDbConn
;
import
util
.
Util
;
public
class
User
{
private
int
userId
=
0
;
private
String
firstName
;
private
String
lastName
;
private
String
email
;
private
int
active
=
1
;
private
Timestamp
timeStamp
;
private
SqlDbConn
sqlDbConn
=
null
;
private
PreparedStatement
ps
=
null
;
private
ResultSet
rs
=
null
;
private
Connection
conn
=
null
;
/**
* Gets the User Info. FirstName, LastName, Email
*
@param
requestEmail Set to 1 if you want to allow entry of email, set to 0 if you do not want to allow entry of email
*/
public
void
requestNewUserInfo
(
int
requestEmail
)
{
Scanner
scanner
=
new
Scanner
(
System
.
in
);
System
.
out
.
println
(
"Enter your first name: "
);
this
.
firstName
=
scanner
.
nextLine
();
System
.
out
.
println
(
"Enter your last name: "
);
this
.
lastName
=
scanner
.
nextLine
();
// Only for new users. 1=Add Mode, 0=Edit Mode
if
(
1
==
requestEmail
){
System
.
out
.
println
(
"Enter your email: "
);
this
.
email
=
scanner
.
nextLine
();
}
}
/**
* Creates a connection the MS SQL Database
*
@return
*/
public
Connection
openDBConnection
()
{
conn
=
null
;
try
{
sqlDbConn
=
new
SqlDbConn
();
sqlDbConn
.
setServerName
(
"SQL4250"
);
sqlDbConn
.
setDatabaseName
(
"jifry.lorance"
);
conn
=
sqlDbConn
.
createConnection
();
if
(
!
sqlDbConn
.
isConnected
())
{
//System.out.println("Connection not made...");
conn
=
null
;
}
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
e
.
toString
());
}
return
conn
;
}
/**
* Closes a Database Connection
*/
public
void
close
(){
try
{
if
(
null
!=
rs
){
rs
.
close
();}
if
(
null
!=
ps
){
ps
.
close
();}
if
(
null
!=
conn
){
conn
.
close
();}
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
/**
* A method that takes two arguments and perform database
* inserts/updates/deletes
*
*
@param
conn
*
@param
mode
*
@return
*/
public
Exception
performRequest
(
String
mode
)
{
Exception
e
=
null
;
String
sql
;
try
{
if
(
"new"
.
equals
(
mode
))
{
sql
=
"INSERT INTO [USER] (FirstName, LastName, Email, Active, DateCreated) VALUES (?, ?, ?, ?, ?)"
;
ps
=
conn
.
prepareStatement
(
sql
);
ps
.
setString
(
1
,
this
.
firstName
);
ps
.
setString
(
2
,
this
.
lastName
);
ps
.
setString
(
3
,
this
.
email
);
ps
.
setInt
(
4
,
1
);
ps
.
setTimestamp
(
5
,
Util
.
todayTimeStamp
());
int
rows
=
ps
.
executeUpdate
();
// INSERTS, DELETE, UPDATE
if
(
rows
!=
1
)
{
e
=
new
Exception
(
"User not added. Email: "
+
this
.
email
);
}
}
else
if
(
"edit"
.
equals
(
mode
))
{
sql
=
"SELECT * FROM [User] WHERE Email=?"
;
ps
=
conn
.
prepareStatement
(
sql
);
ps
.
setString
(
1
,
this
.
email
);
rs
=
ps
.
executeQuery
();
boolean
foundUser
=
false
;
while
(
rs
.
next
())
{
this
.
userId
=
rs
.
getInt
(
"UserId"
);
this
.
firstName
=
rs
.
getString
(
"FirstName"
);
this
.
lastName
=
rs
.
getString
(
"LastName"
);
this
.
active
=
rs
.
getInt
(
"Active"
);
this
.
timeStamp
=
rs
.
getTimestamp
(
"DateCreated"
);
foundUser
=
true
;
}
if
(
foundUser
)
{
sql
=
"UPDATE [User] Set FirstName=?, LastName=? WHERE UserId=?"
;
ps
=
conn
.
prepareStatement
(
sql
);
ps
.
setString
(
1
,
this
.
firstName
);
ps
.
setString
(
2
,
this
.
lastName
);
ps
.
setInt
(
3
,
this
.
userId
);
int
rows
=
ps
.
executeUpdate
();
if
(
rows
!=
1
)
{
e
=
new
Exception
(
"User not updated. Email: "
+
this
.
email
);
}
}
else
{
throw
new
Exception
(
"User not found. Email: "
+
this
.
email
);
}
}
else
if
(
"delete"
.
equals
(
mode
))
{
sql
=
"DELETE FROM [User] WHERE Email=?"
;
ps
=
conn
.
prepareStatement
(
sql
);
ps
.
setString
(
1
,
this
.
email
);
int
rows
=
ps
.
executeUpdate
();
if
(
rows
!=
1
)
{
e
=
new
Exception
(
"User not deleted. Email: "
+
this
.
email
);
}
}
}
catch
(
Exception
ex
)
{
e
=
ex
;
}
return
e
;
}
/**
* Gets a User's Email
*/
public
void
requestEmail
()
{
Scanner
scanner
=
new
Scanner
(
System
.
in
);
System
.
out
.
println
(
"Enter your email: "
);
this
.
email
=
scanner
.
nextLine
();
}
public
int
getUserId
()
{
return
userId
;
}
public
void
setUserId
(
int
userId
)
{
this
.
userId
=
userId
;
}
public
String
getFirstName
()
{
return
firstName
;
}
public
void
setFirstName
(
String
firstName
)
{
this
.
firstName
=
firstName
;
}
public
String
getLastName
()
{
return
lastName
;
}
public
void
setLastName
(
String
lastName
)
{
this
.
lastName
=
lastName
;
}
public
String
getEmail
()
{
return
email
;
}
public
void
setEmail
(
String
email
)
{
this
.
email
=
email
;
}
public
int
getActive
()
{
return
active
;
}
public
void
setActive
(
int
active
)
{
this
.
active
=
active
;
}
public
Timestamp
getTimeStamp
()
{
return
timeStamp
;
}
public
void
setTimeStamp
(
Timestamp
timeStamp
)
{
this
.
timeStamp
=
timeStamp
;
}
public
SqlDbConn
getSqlDbConn
()
{
return
sqlDbConn
;
}
public
void
setSqlDbConn
(
SqlDbConn
sqlDbConn
)
{
this
.
sqlDbConn
=
sqlDbConn
;
}
public
PreparedStatement
getPs
()
{
return
ps
;
}
public
void
setPs
(
PreparedStatement
ps
)
{
this
.
ps
=
ps
;
}
public
ResultSet
getRs
()
{
return
rs
;
}
public
void
setRs
(
ResultSet
rs
)
{
this
.
rs
=
rs
;
}
public
Connection
getConn
()
{
return
conn
;
}
public
void
setConn
(
Connection
conn
)
{
this
.
conn
=
conn
;
}
@
Override
public
String
toString
()
{
StringBuilder
builder
=
new
StringBuilder
();
builder
.
append
(
"User [userId="
);
builder
.
append
(
userId
);
builder
.
append
(
", firstName="
);
builder
.
append
(
firstName
);
builder
.
append
(
", lastName="
);
builder
.
append
(
lastName
);
builder
.
append
(
", email="
);
builder
.
append
(
email
);
builder
.
append
(
", active="
);
builder
.
append
(
active
);
builder
.
append
(
", timeStamp="
);
builder
.
append
(
timeStamp
);
builder
.
append
(
", sqlDbConn="
);
builder
.
append
(
sqlDbConn
);