簡體   English   中英

MySQL Select在WorkBench中工作,但在Java中不工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM