[英]MySQL Select working in WorkBench, But not in Java
我正在嘗試使以下內容起作用,我已經閱讀了許多有關此的在線帖子,但似乎沒有任何效果。
當我在MySQLWorkbench中運行查詢字符串時,該查詢字符串有效。 我正在使用XPath檢索所有ExternalId,並將它們存儲到列表中。
String getExternalIds = "/FundShareClass/Fund/PortfolioList/Portfolio/Holding/HoldingDetail/@_ExternalId";
List<String> externalIdList = new ArrayList<String>();
XPath xPath = XPathFactory.newInstance().newXPath();
NodeList nodeList = (NodeList) xPath.compile(getExternalIds).evaluate(doc, XPathConstants.NODESET);
for (int i = 0; i < nodeList.getLength(); i++)
{
externalIdList.add(nodeList.item(i).getFirstChild().getNodeValue() + '\n');
}
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/TestDb";
String user = "root";
String pass = "";
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = (Connection) DriverManager.getConnection(url, user, pass);
System.out.print("Connection Made to Mysql Database");
for(String externalId : externalIdList)
{
try
{
String currentId = externalId;
String query = "SELECT * FROM StructuredMappings WHERE managerCode=?";
PreparedStatement ps = conn.prepareStatement(query);
ps.setString(1, externalId);
ResultSet rs = ps.executeQuery();
Boolean response = rs.next();
System.out.println(response);
while(rs.next())
{
System.out.println("MAPPING CODE FOUND");
String ISIN = rs.getString("ISIN");
String idType = rs.getString("type");
System.out.println(ISIN +" , " +idType);
}
布爾響應將所有有效id的結果打印為False。
當您填充externalIdList
您'\\n'
在每個ID中添加一個'\\n'
。
我不知道您的ID,但我想您應該刪除換行符。
for (int i = 0; i < nodeList.getLength(); i++)
externalIdList.add(nodeList.item(i).getFirstChild().getNodeValue());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.