当前位置: 首页 > 知识库问答 >
问题:

如何使用put方法将数据插入到使用restful webservice MySQL数据库中

章昆琦
2023-03-14

我使用这个教程,我创建了这个表(id,用户名)打印;现在我要使用restful web服务向其插入数据

我应该在“内容”文本框中放入什么内容来完成此操作?

这是我的绘画课

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package entities;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author subhi
 */
@Entity
@Table(name = "prints")

@XmlRootElement(name=“Prints.findall”,query=“从Prints p中选择p”),@namedquery(name=“Prints.findbyid”,query=“从Prints p中选择p.id=:id”),@namedquery(name=“Prints.findbyusername”,query=“从Prints p中选择p.username=:username”)})公共类打印实现Serializable{private static final long serialVersionUID=1L;@id@basic(可选=false)@notnull@column(

    public Prints() {
    }

    public Prints(Integer id) {
        this.id = id;
    }

    public Prints(Integer id, String username) {
        this.id = id;
        this.username = username;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Prints)) {
            return false;
        }
        Prints other = (Prints) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "entities.Prints[ id=" + id + " ]";
    }

}

为什么我在组合框中没有post方法?

控制器代码Java EE 6

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package service;

import entities.Prints;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import org.netbeans.saas.RestResponse;
import org.netbeans.saas.google.GoogleMapService;

/**
 *
 * @author subhi
 */
@Stateless
@Path("entities.prints")
public class PrintsFacadeREST extends AbstractFacade<Prints> {

    @PersistenceContext(unitName = "test3PU")
    private EntityManager em;

    public PrintsFacadeREST() {
        super(Prints.class);
    }

    @POST
    @Override
    @Consumes({"application/xml", "application/json"})
    public void create(Prints entity) {
        super.create(entity);
    }

    @PUT
    @Override
    @Consumes({"application/xml", "application/json"})
    public void edit(Prints entity) {
        super.edit(entity);
    }

    @DELETE
    @Path("{id}")
    public void remove(@PathParam("id") Integer id) {
        super.remove(super.find(id));
    }

    @GET
    @Path("{id}")
    @Produces({"application/xml", "application/json"})
    public Prints find(@PathParam("id") Integer id) {
        return super.find(id);
    }

    @GET
    @Override
    @Produces({"application/xml", "application/json"})
    public List<Prints> findAll() {
        return super.findAll();
    }

    @GET
    @Path("{from}/{to}")
    @Produces({"application/xml", "application/json"})
    public List<Prints> findRange(@PathParam("from") Integer from, @PathParam("to") Integer to) {
        return super.findRange(new int[]{from, to});
    }

    @GET
    @Path("count")
    @Produces("text/plain")
    public String countREST() {
        return String.valueOf(super.count());
    }

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

    @GET
    @Produces("text/html")
    public String getGoogleMap() {
// Drag and drop the getGoogleMap operation here

        try {
            String address = "16 Network Circle, Menlo Park";
            java.lang.Integer zoom = 15;
            String iframe = "false";

            RestResponse result = GoogleMapService.getGoogleMap(address, zoom, iframe);
            return result.getDataAsString();
        } catch (Exception ex) {
            ex.printStackTrace();
        }

        return "";
    }
}

共有1个答案

卢锋
2023-03-14

把请求体部分放在那里。如果你要更新某个实体,那么你应该把应该更新的数据传递给dto。我没有看过你的链接。这部分可以是Json或XML。(如下所示)

 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<prints>
<id>1</id>
<username>test</username>
</prints>

您必须如下所示对dto字母进行注释,例如printsDTO

@XmlRootElement(name = "prints") 
public class PrintsDTO {
private int id;
private String username;
// have getters and setteres for above
}
 类似资料:
  • 问题内容: 从Python脚本向MySQL插入一些数据时,出现一个奇怪的错误。这基本上与我要插入的变量为空有关。我认为MySQL不喜欢空白变量,但是还有其他我可以将其更改为可以与我的insert语句一起使用的东西吗? 我可以成功地使用一条语句将其设置为0(如果为空),但这可能会弄乱我计划稍后在MySQL中进行的某些数据分析。有没有办法将其转换为或某种方式,以便MySQL接受但不添加任何内容? 问题

  • 我的准备好的语句有问题,但我无法找出错误所在。我正在尝试将URI链接插入数据库。 错误

  • 我是mysql和php的初学者。在这个问题上陷入了困境。不知道问题出在哪里。但是如果我直接执行insert查询,它就会被执行,而如果我从用户那里接受它,它就不会被执行(代码中显示了这一点)。可能问题出在我用来检索用户提交的值的$\u POST[]方法上。我已经提交了两个代码,addbooks。php(用户提交值的表单)和add。php(插入数据库)。

  • 我正在尝试通过我的应用程序将数据插入Google Cloud mysql数据库,该应用程序是通过eclipse构建在java上的。这是代码: 部署项目后,我遇到以下错误: java.sql.SQLException:没有找到适合jdbc: mysql://google/eduvitae? cloud dSqlInstance=edu-vitae1的驱动程序 谁能帮我解决这个问题。提前谢谢

  • 问题内容: 我使用Google Maps API制作了一个非常简单的页面,其中有几个字段,用户将在其中放置一些数据。看起来像- http://aiworker2.usask.ca/marker_field_db.html 我要做的是使用javascript / Ajax将数据存储到MySQL数据库中。我发现了几个使用Jquery的示例。我是这个javascript / Ajax / Jquery平

  • 我有一个postgres数据库,包含一个名为“users”的表。该表有四个字段: id BIGSERIAL主键 显示名称文本不为空, 电子邮件文本不为空 电话号码文本 我想从dart代码中添加数据。我的尝试是这样的: 问题是我遇到了一个例外 (PostgreSQLSeverity.error 42601:在“display_name”处或附近出现语法错误)