java-如何检查JSP页面中是否存在值?

问题描述 投票:0回答:3

我有一个函数检查MYSQL中的表中是否存在特定记录。

以下是此代码:

public String get_value(long nodeid,String ts) {
    try {
        String sql="Select URL FROM urllink WHERE URL='f0="+nodeid+"&ts="+ts + "'";

        em.createNativeQuery(sql).getSingleResult();
        if (em == null) {
            throw new Exception("could not found URL object.");
        }
      //  return 1;

    } catch (Exception e) {
        e.printStackTrace();



    }
   return null;
}

在我的JSP页面中,我将调用此函数并将参数传递给它。

String v=fileFacade1.get_value(fileID,date);

  if(v !=null ){ 

// if the records exist in the table, do this

}

我试图调用该函数,所以如果表中有记录,然后输入if语句并做一些事情但是从我调试的东西,v的值总是为null但是有来自singleresult的记录。

我做错什么了吗?

编辑:

这就是现在的样子:

public String get_value(long nodeid,String ts) {
    try {
        String sql="Select URL FROM urllink WHERE URL='f0="+nodeid+"&ts="+ts + "'";
        if (em == null) {
            throw new Exception("could not found URL object.");
        }
        em.createNativeQuery(sql).getSingleResult();

        return (String)em.createNativeQuery(sql).getSingleResult();

      //  return 1;

    } catch (Exception e) {
        e.printStackTrace();



    }
  return null;
}
java mysql jdbc entitymanager
3个回答
1
投票

你需要返回getSingleResult()

return (String)em.createNativeQuery(sql).getSingleResult();

执行返回单个结果的SELECT查询。


1
投票

如果在其他条件下,只需将你的代码包装在里面,我的意思是当em为null时抛出异常或返回单个字符串,如下面的代码片段:

public String get_value(long nodeid,String ts) {
    try {
        String sql="Select URL FROM urllink WHERE URL='f0="+nodeid+"&ts="+ts + "'";
        if (em == null) {
            throw new Exception("could not found URL object.");
        }
        else{
           return (String)em.createNativeQuery(sql).getSingleResult();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
   return null;
}

0
投票

您的方法始终返回null。

此外,也许这只是一个片段,你的实际代码中缺少一些东西,但是em什么时候才能实现? (我假设它是一个类变量)

最后,你正在调用getSingleResult但没有对实际结果做任何事情,这是你应该返回的,如@ user7294900的回答所示

return (String) em.createNativeQuery(sql).getSingleResult();
© www.soinside.com 2019 - 2024. All rights reserved.