Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
jvstd1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Patryk Czarnik
jvstd1
Commits
52665d25
Commit
52665d25
authored
Oct 30, 2024
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Parametry zapytań
parent
f72a71a6
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
122 additions
and
0 deletions
+122
-0
C_OdczytajWybranych_v1.java
src/main/java/p21_jdbc/bazowe/C_OdczytajWybranych_v1.java
+42
-0
C_OdczytajWybranych_v2.java
src/main/java/p21_jdbc/bazowe/C_OdczytajWybranych_v2.java
+42
-0
C_OdczytajWybranych_v3.java
src/main/java/p21_jdbc/bazowe/C_OdczytajWybranych_v3.java
+38
-0
No files found.
src/main/java/p21_jdbc/bazowe/C_OdczytajWybranych_v1.java
0 → 100644
View file @
52665d25
package
p21_jdbc
.
bazowe
;
import
javax.swing.*
;
import
java.sql.*
;
import
java.util.Objects
;
public
class
C_OdczytajWybranych_v1
{
/* Niech program wypisuje dane tylko tych pracowników, którzy mają podane job_id
W tej wersji aplikacja pobiera dane całęj tabeli, a dopiero Java dokonuje filtrowania.
- Ta wersja ma niską wydajność.
*/
public
static
void
main
(
String
[]
args
)
{
String
szukanyJob
=
JOptionPane
.
showInputDialog
(
"Podaj kod stanowiska:"
,
"IT_PROG"
);
String
url
=
"jdbc:postgresql://vps-2bc225bd.vps.ovh.net/hr"
;
try
(
Connection
c
=
DriverManager
.
getConnection
(
url
,
"alx"
,
"abc123vps"
))
{
System
.
out
.
println
(
"Połączenie: "
+
c
);
try
(
PreparedStatement
stmt
=
c
.
prepareStatement
(
"SELECT * FROM employees"
))
{
try
(
ResultSet
rs
=
stmt
.
executeQuery
())
{
System
.
out
.
println
(
"ResultSet: "
+
rs
);
while
(
rs
.
next
())
{
String
jobId
=
rs
.
getString
(
"job_id"
);
if
(
Objects
.
equals
(
jobId
,
szukanyJob
))
{
System
.
out
.
printf
(
"Pracownik nr %d: %s %s (%s) zarabia %s%n"
,
rs
.
getInt
(
"employee_id"
),
rs
.
getString
(
"first_name"
),
rs
.
getString
(
"last_name"
),
jobId
,
rs
.
getBigDecimal
(
"salary"
)
);
}
}
}
}
}
catch
(
SQLException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
}
src/main/java/p21_jdbc/bazowe/C_OdczytajWybranych_v2.java
0 → 100644
View file @
52665d25
package
p21_jdbc
.
bazowe
;
import
javax.swing.*
;
import
java.sql.*
;
import
java.util.Objects
;
public
class
C_OdczytajWybranych_v2
{
/* Niech program wypisuje dane tylko tych pracowników, którzy mają podane job_id
W tej wersji program wkleja do zapytania SQL dane wprowadzone przez użytkownika → zagrożenie SQL Injection.
'; update employees set salary = 1; select '
'; drop table employees cascade; select 'x
*/
public
static
void
main
(
String
[]
args
)
{
String
szukanyJob
=
JOptionPane
.
showInputDialog
(
"Podaj kod stanowiska:"
,
"IT_PROG"
);
String
url
=
"jdbc:postgresql://vps-2bc225bd.vps.ovh.net/hr"
;
try
(
Connection
c
=
DriverManager
.
getConnection
(
url
,
"alx"
,
"abc123vps"
))
{
System
.
out
.
println
(
"Połączenie: "
+
c
);
try
(
PreparedStatement
stmt
=
c
.
prepareStatement
(
"SELECT * FROM employees WHERE job_id = '"
+
szukanyJob
+
"'"
))
{
System
.
out
.
println
(
stmt
);
try
(
ResultSet
rs
=
stmt
.
executeQuery
())
{
System
.
out
.
println
(
"ResultSet: "
+
rs
);
while
(
rs
.
next
())
{
System
.
out
.
printf
(
"Pracownik nr %d: %s %s (%s) zarabia %s%n"
,
rs
.
getInt
(
"employee_id"
),
rs
.
getString
(
"first_name"
),
rs
.
getString
(
"last_name"
),
rs
.
getString
(
"job_id"
),
rs
.
getBigDecimal
(
"salary"
)
);
}
}
}
}
catch
(
SQLException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
}
src/main/java/p21_jdbc/bazowe/C_OdczytajWybranych_v3.java
0 → 100644
View file @
52665d25
package
p21_jdbc
.
bazowe
;
import
javax.swing.*
;
import
java.sql.*
;
public
class
C_OdczytajWybranych_v3
{
/* Niech program wypisuje dane tylko tych pracowników, którzy mają podane job_id
*/
public
static
void
main
(
String
[]
args
)
{
String
szukanyJob
=
JOptionPane
.
showInputDialog
(
"Podaj kod stanowiska:"
,
"IT_PROG"
);
String
url
=
"jdbc:postgresql://vps-2bc225bd.vps.ovh.net/hr"
;
try
(
Connection
c
=
DriverManager
.
getConnection
(
url
,
"alx"
,
"abc123vps"
))
{
System
.
out
.
println
(
"Połączenie: "
+
c
);
try
(
PreparedStatement
stmt
=
c
.
prepareStatement
(
"SELECT * FROM employees WHERE job_id = ?"
))
{
stmt
.
setString
(
1
,
szukanyJob
);
System
.
out
.
println
(
stmt
);
try
(
ResultSet
rs
=
stmt
.
executeQuery
())
{
System
.
out
.
println
(
"ResultSet: "
+
rs
);
while
(
rs
.
next
())
{
System
.
out
.
printf
(
"Pracownik nr %d: %s %s (%s) zarabia %s%n"
,
rs
.
getInt
(
"employee_id"
),
rs
.
getString
(
"first_name"
),
rs
.
getString
(
"last_name"
),
rs
.
getString
(
"job_id"
),
rs
.
getBigDecimal
(
"salary"
)
);
}
}
}
}
catch
(
SQLException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment