【问题标题】:Rest webservice in Java - Remove row from databaseJava中的Rest webservice - 从数据库中删除行
【发布时间】:2014-10-26 19:34:32
【问题描述】:

我正在尝试使用连接到数据库的常用 CRUD 方法构建一个简单的 Web 服务。 到目前为止,我设法通过 URL 列出了我的表中的所有“客户端”(接收 JSON 字符串),但我无法通过传递“id”参数来删除或检索一行,我不知道为什么,因为我不知道收到任何错误。

我的作品有5个类:

  1. ClienteDAO
  2. 客户
  3. 控制器
  4. 连接工厂
  5. 客户资源

Cliente.java

具有 SET、GET、hashCode 和 equal 方法的类变量。

ClienteResource.java

@GET
@Path("/remove/{id}")
@Produces("text/plain")
public String removeId(@PathParam ("id") int id) {
    return new Controller().removerCliente(id);
}

Controller.java

public String removerCliente (int id) {
    return ClienteDAO.getInstance().removerCliente(id);
}

ClienteDAO.java

public class ClienteDAO extends ConnectionFactory {

...
    public String removerCliente (int id) {

    Connection conexao = null;
    PreparedStatement psmt = null;
    ResultSet rs = null;
    conexao = criarConexao();
    String query = "Delete * from cliente where id = ?";

    try {
        psmt = conexao.prepareStatement(query);
        psmt.setInt(1, id);
        psmt.execute();

    } catch (Exception e) {
    } //finally {
        //fecharConexao(conexao, psmt, rs);
    //}

    return "O clientecom o id:"+ id +" foi apagado com sucesso!";
    }
  }
}

你能找出问题所在吗?谢谢!

【问题讨论】:

  • 那么,您在调试器中单步调试代码了吗?

标签: java web-services restful-url


【解决方案1】:

不要在查询中使用 *:

String query = "Delete from cliente where id = ?";

SQL delete statement

【讨论】:

    【解决方案2】:

    从 id = ? 的客户中删除 * 你确定这个查询是正确的吗?

    【讨论】:

    • 不,不是! :) 谢谢!
    【解决方案3】:

    为什么不去试试:Spring Data Rest

    【讨论】:

      猜你喜欢
      • 2021-09-20
      • 2015-08-07
      • 1970-01-01
      • 2018-12-19
      • 2014-07-22
      • 2014-05-09
      • 2014-05-30
      • 1970-01-01
      相关资源
      最近更新 更多