JDBC, кажется, удаляет / усекает часть моего запросаJAVA

Программисты JAVA общаются здесь
Anonymous
JDBC, кажется, удаляет / усекает часть моего запроса

Сообщение Anonymous »

Это мой довольно простой SQL: < /p>

Код: Выделить всё

SELECT
CONCAT(
'{ ',
'"test": ',
'{',
'"a": true,',   /* don't set to false  */
'"b": { "t": true },',
'"c": 2',
'},',
'"b": { "t": true } ',
'}'
) AS test
Я использую mysql-connector-java-5.1.7-bin.jar в Java, чтобы подключиться к базе данных mariadb .

Код: Выделить всё

{ "test": {"a": true,"b": { "t": true },"c": 2},"b": { "t": true } }
< /code>
Однако по какой -то причине java возвращает: < /p>
{ "test": {"a": true,"b": ,"c": 2},"b": { "t": true } }
Обратите внимание, что первый "b" имеет свое значение {"t": true} полностью удален по какой -то причине, но только первый случай "B" , второй в порядке.
Это то, что я делаю в Java:
​​ Это то, что я делаю в Java:
Это то, что я делаю в Java:

Код: Выделить всё

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class testSQL {

private static final String DB_URL = "jdbc:mysql://localhost:3306/database?characterEncoding=utf-8";
private static final String DB_USER = "your_username";
private static final String DB_PASSWORD = "your_password";

public static void main(String[] args) {
String sql = "SELECT\n\tCONCAT(\n\t'{ ',\n\t\t'\"test\": ',\n\t\t'{',\n\t\t\t\t'\"a\": true,',\t/* don't set to false  */\n\t\t\t\t'\"b\": { \"t\": true },',\n\t\t\t\t'\"c\": 2',\n\t\t'},',\n\t\t'\"b\": { \"t\": true } ',\n\t'}'\n\t) AS test";

try (Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
PreparedStatement stmt = conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery()) {

while (rs.next()) {
System.out.println(rs.getObject(1));
}

} catch (SQLException e) {
e.printStackTrace();
}
}
}
Что может вызвать это?

Подробнее здесь: https://stackoverflow.com/questions/796 ... f-my-query

Вернуться в «JAVA»