Skip to content

Commit 458daaf

Browse files
committed
Add nested JSONB example. Fix cases where connection string has a space in it.
1 parent b3fff3f commit 458daaf

File tree

15 files changed

+80
-14
lines changed

15 files changed

+80
-14
lines changed

JdbcExamples/src/main/java/emp/CreateTable.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class CreateTable {
1414

1515
public static void main(String[] args) throws SQLException {
1616
PoolDataSource pool = PoolDataSourceFactory.getPoolDataSource();
17-
pool.setURL(args[0]);
17+
pool.setURL(String.join("", args));
1818
pool.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
1919

2020
try (Connection con = pool.getConnection()) {

JdbcExamples/src/main/java/emp/DropTable.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class DropTable {
1414

1515
public static void main(String[] args) throws SQLException {
1616
PoolDataSource pool = PoolDataSourceFactory.getPoolDataSource();
17-
pool.setURL(args[0]);
17+
pool.setURL(String.join("", args));
1818
pool.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
1919

2020
try (Connection con = pool.getConnection()) {

JdbcExamples/src/main/java/emp/Filter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class Filter {
2020

2121
public static void main(String[] args) throws SQLException {
2222
PoolDataSource pool = PoolDataSourceFactory.getPoolDataSource();
23-
pool.setURL(args[0]);
23+
pool.setURL(String.join("", args));
2424
pool.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
2525

2626
try (Connection con = pool.getConnection()) {

JdbcExamples/src/main/java/emp/Filter2.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class Filter2 {
2424

2525
public static void main(String[] args) throws SQLException {
2626
PoolDataSource pool = PoolDataSourceFactory.getPoolDataSource();
27-
pool.setURL(args[0]);
27+
pool.setURL(String.join("", args));
2828
pool.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
2929

3030
try (Connection con = pool.getConnection()) {

JdbcExamples/src/main/java/emp/GSON.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import com.google.gson.Gson;
99

10+
import emp.model.Emp;
1011
import oracle.ucp.jdbc.PoolDataSource;
1112
import oracle.ucp.jdbc.PoolDataSourceFactory;
1213

@@ -26,7 +27,7 @@ public class GSON {
2627
public static void main(String[] args) throws SQLException {
2728

2829
PoolDataSource pool = PoolDataSourceFactory.getPoolDataSource();
29-
pool.setURL(args[0]);
30+
pool.setURL(String.join("", args));
3031
pool.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
3132

3233
try (Connection con = pool.getConnection()) {

JdbcExamples/src/main/java/emp/GetAll.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class GetAll {
1919

2020
public static void main(String[] args) throws SQLException {
2121
PoolDataSource pool = PoolDataSourceFactory.getPoolDataSource();
22-
pool.setURL(args[0]);
22+
pool.setURL(String.join("", args));
2323
pool.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
2424

2525
try (Connection con = pool.getConnection()) {

JdbcExamples/src/main/java/emp/Insert.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public class Insert {
2626

2727
public static void main(String[] args) throws Exception {
2828
PoolDataSource pool = PoolDataSourceFactory.getPoolDataSource();
29-
pool.setURL(args[0]);
29+
pool.setURL(String.join("", args));
3030
pool.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
3131

3232
try (Connection con = pool.getConnection()) {

JdbcExamples/src/main/java/emp/JSONB.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,17 @@
66
import java.sql.PreparedStatement;
77
import java.sql.ResultSet;
88
import java.sql.SQLException;
9+
import java.util.ArrayList;
10+
import java.util.List;
911

1012
import javax.json.bind.JsonbBuilder;
1113
import javax.json.stream.JsonGenerator;
1214
import javax.json.stream.JsonParser;
1315

1416
import org.eclipse.yasson.YassonJsonb;
1517

18+
import emp.model.Emp;
19+
import emp.model.Phone;
1620
import oracle.jdbc.OracleTypes;
1721
import oracle.sql.json.OracleJsonFactory;
1822
import oracle.ucp.jdbc.PoolDataSource;
@@ -30,7 +34,7 @@ public static void main(String[] args) throws SQLException {
3034
YassonJsonb jsonb = (YassonJsonb) JsonbBuilder.create();
3135

3236
PoolDataSource pool = PoolDataSourceFactory.getPoolDataSource();
33-
pool.setURL(args[0]);
37+
pool.setURL(String.join("", args));
3438
pool.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
3539

3640
try (Connection con = pool.getConnection()) {
@@ -41,6 +45,11 @@ public static void main(String[] args) throws SQLException {
4145
emp.setSalary(BigDecimal.valueOf(200000));
4246
emp.setJob("President");
4347

48+
List<Phone> phones = new ArrayList<Phone>();
49+
phones.add(new Phone(Phone.Type.MOBILE, "555-333-2222"));
50+
phones.add(new Phone(Phone.Type.WORK, "555-333-1111"));
51+
emp.setPhoneNumbers(phones);
52+
4453
// convert Emp class to binary JSON
4554
ByteArrayOutputStream out = new ByteArrayOutputStream();
4655
JsonGenerator gen = factory.createJsonBinaryGenerator(out)
@@ -65,6 +74,9 @@ public static void main(String[] args) throws SQLException {
6574
Emp e = jsonb.fromJson(parser, Emp.class);
6675
System.out.println("Emp object retrieved from database. ");
6776
System.out.println(e.getName() + ", " + e.getEmail());
77+
for (Phone p : e.getPhoneNumbers()) {
78+
System.out.println(" " + p.getType() + " " + p.getNumber());
79+
}
6880
}
6981

7082
}

JdbcExamples/src/main/java/emp/JSONP.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public static void main(String[] args) throws SQLException {
3232
JsonBuilderFactory factory = Json.createBuilderFactory(null);
3333

3434
PoolDataSource pool = PoolDataSourceFactory.getPoolDataSource();
35-
pool.setURL(args[0]);
35+
pool.setURL(String.join("", args));
3636
pool.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
3737

3838
try (Connection con = pool.getConnection()) {

JdbcExamples/src/main/java/emp/Jackson.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public static void main(String[] args) throws Exception {
7373
gen.close();
7474

7575
byte[] oson = out.toByteArray();
76-
try (Connection con = DriverManager.getConnection(args[0])) {
76+
try (Connection con = DriverManager.getConnection(String.join("", args))) {
7777
PreparedStatement stmt = con.prepareStatement("INSERT INTO emp VALUES (?)");
7878
stmt.setObject(1, oson, OracleType.JSON);
7979
stmt.execute();

0 commit comments

Comments
 (0)