Browse Source

update single query to meet requirement

Steve Hu 8 years ago
parent
commit
74f01fd66e

+ 10 - 1
frameworks/Java/light-java/src/main/java/com/networknt/techempower/handler/DbMysqlGetHandler.java

@@ -1,5 +1,7 @@
 package com.networknt.techempower.handler;
 package com.networknt.techempower.handler;
 
 
+import com.dslplatform.json.DslJson;
+import com.dslplatform.json.JsonWriter;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.networknt.config.Config;
 import com.networknt.config.Config;
 import com.networknt.techempower.Helper;
 import com.networknt.techempower.Helper;
@@ -10,6 +12,7 @@ import io.undertow.server.HttpServerExchange;
 import io.undertow.util.Headers;
 import io.undertow.util.Headers;
 import io.undertow.util.HttpString;
 import io.undertow.util.HttpString;
 
 
+import java.nio.ByteBuffer;
 import java.sql.Connection;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.ResultSet;
@@ -25,6 +28,8 @@ import javax.sql.DataSource;
 
 
 public class DbMysqlGetHandler implements HttpHandler {
 public class DbMysqlGetHandler implements HttpHandler {
     private final DataSource ds = MysqlStartupHookProvider.ds;
     private final DataSource ds = MysqlStartupHookProvider.ds;
+    private DslJson<Object> dsl = new DslJson<>();
+    private JsonWriter writer = dsl.newWriter(25000);
 
 
     @Override
     @Override
     public void handleRequest(HttpServerExchange exchange) throws Exception {
     public void handleRequest(HttpServerExchange exchange) throws Exception {
@@ -101,6 +106,7 @@ public class DbMysqlGetHandler implements HttpHandler {
 
 
         //11731 115
         //11731 115
         exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "application/json");
         exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "application/json");
+        World world;
         try (final Connection connection = ds.getConnection()) {
         try (final Connection connection = ds.getConnection()) {
             try (PreparedStatement statement = connection.prepareStatement(
             try (PreparedStatement statement = connection.prepareStatement(
                     "SELECT * FROM world WHERE id = ?",
                     "SELECT * FROM world WHERE id = ?",
@@ -108,9 +114,12 @@ public class DbMysqlGetHandler implements HttpHandler {
                 statement.setInt(1, Helper.randomWorld());
                 statement.setInt(1, Helper.randomWorld());
                 try(ResultSet resultSet = statement.executeQuery()) {
                 try(ResultSet resultSet = statement.executeQuery()) {
                     resultSet.next();
                     resultSet.next();
-                    exchange.getResponseSender().send("{\"id\":" + resultSet.getInt("id") + ",\"randomNumber\":" + resultSet.getInt("randomNumber") + "}");
+                    world = new World(resultSet.getInt("id"), resultSet.getInt("randomNumber"));
                 }
                 }
             }
             }
         }
         }
+        writer.reset();
+        world.serialize(writer, true);
+        exchange.getResponseSender().send(ByteBuffer.wrap(writer.toByteArray()));
     }
     }
 }
 }

+ 11 - 2
frameworks/Java/light-java/src/main/java/com/networknt/techempower/handler/DbPostgresqlGetHandler.java

@@ -1,15 +1,19 @@
 package com.networknt.techempower.handler;
 package com.networknt.techempower.handler;
 
 
+import com.dslplatform.json.DslJson;
+import com.dslplatform.json.JsonWriter;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.networknt.config.Config;
 import com.networknt.config.Config;
 import com.networknt.techempower.Helper;
 import com.networknt.techempower.Helper;
 import com.networknt.techempower.db.mysql.MysqlStartupHookProvider;
 import com.networknt.techempower.db.mysql.MysqlStartupHookProvider;
 import com.networknt.techempower.db.postgres.PostgresStartupHookProvider;
 import com.networknt.techempower.db.postgres.PostgresStartupHookProvider;
+import com.networknt.techempower.model.World;
 import io.undertow.server.HttpHandler;
 import io.undertow.server.HttpHandler;
 import io.undertow.server.HttpServerExchange;
 import io.undertow.server.HttpServerExchange;
 import io.undertow.util.Headers;
 import io.undertow.util.Headers;
 import io.undertow.util.HttpString;
 import io.undertow.util.HttpString;
 
 
+import java.nio.ByteBuffer;
 import java.sql.Connection;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.ResultSet;
@@ -21,6 +25,8 @@ import javax.sql.DataSource;
 
 
 public class DbPostgresqlGetHandler implements HttpHandler {
 public class DbPostgresqlGetHandler implements HttpHandler {
     private final DataSource ds = PostgresStartupHookProvider.ds;
     private final DataSource ds = PostgresStartupHookProvider.ds;
+    private DslJson<Object> dsl = new DslJson<>();
+    private JsonWriter writer = dsl.newWriter(25000);
 
 
     @Override
     @Override
     public void handleRequest(HttpServerExchange exchange) throws Exception {
     public void handleRequest(HttpServerExchange exchange) throws Exception {
@@ -29,6 +35,7 @@ public class DbPostgresqlGetHandler implements HttpHandler {
             return;
             return;
         }
         }
         // 24682 59
         // 24682 59
+        World world;
         exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "application/json");
         exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "application/json");
         try (final Connection connection = ds.getConnection()) {
         try (final Connection connection = ds.getConnection()) {
             try (PreparedStatement statement = connection.prepareStatement(
             try (PreparedStatement statement = connection.prepareStatement(
@@ -37,10 +44,12 @@ public class DbPostgresqlGetHandler implements HttpHandler {
                 statement.setInt(1, Helper.randomWorld());
                 statement.setInt(1, Helper.randomWorld());
                 try (ResultSet resultSet = statement.executeQuery()) {
                 try (ResultSet resultSet = statement.executeQuery()) {
                     resultSet.next();
                     resultSet.next();
-                    exchange.getResponseSender().send("{\"id\":" + resultSet.getInt("id") + ",\"randomNumber\":" + resultSet.getInt("randomNumber") + "}");
+                    world = new World(resultSet.getInt("id"), resultSet.getInt("randomNumber"));
                 }
                 }
             }
             }
         }
         }
-
+        writer.reset();
+        world.serialize(writer, true);
+        exchange.getResponseSender().send(ByteBuffer.wrap(writer.toByteArray()));
     }
     }
 }
 }