使用java和mysql开发web服务

我不熟悉websrvices和mysql ..i遵循http://www.vogella.com/articles/REST/article.html教程,并使用JAX-RS参考实现Jersey开发了一个Java的RESTful Web服务。

我想使用eclipse创建一个websrevice,它从mysql数据库中选择数据并以xml格式显示结果。

我有很多使用PHP和mysql开发webservices的示例,但我想用java开发。

请建议我一些关于这个或想法的好教程/链接可能对我有帮助。 我想在我的Android应用程序中使用该webservice。

在上面的例子中,我没有得到连接字符串在哪里建立MySQL数据库和java文件之间的连接。

这是TodoResource.java:

package de.vogella.jersey.jaxb; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import de.vogella.jersey.jaxb.model.Todo; @Path("/todo") public class TodoResource { // This method is called if XMLis request @GET @Produces( { MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) //@Produces( { MediaType.TEXT_XML }) public Todo getXML() { Todo todo = new Todo(); todo.setSummary("This is my first todo"); todo.setDescription("This is my first todo"); todo.setMy_id(1); return todo; } // This can be used to test the integration with the browser @GET @Produces( { MediaType.TEXT_XML }) public Todo getHTML() { Todo todo = new Todo(); todo.setSummary("This is my first todo"); todo.setDescription("This is my first todo"); return todo; } } 

我将从这里开始: http : //wiki.restlet.org/docs_2.1/13-restlet/21-restlet.html

您可以创建一个封装Business逻辑的java类/方法,例如连接到mysql数据库并检索记录然后将其转换为所需格式的getData(DataFormat xml / html,whatData)之类的方法,在getXML中调用此方法()和getHTML()

Spring MVC使基于REST的开发变得非常容易。 请参阅此博客

您链接到的示例实际上并未使用数据库,而是使用内存中的Todo来提供数据。 在第8节中,作者说

创建以下数据模型和Singleton,它用作模型的数据提供者。 我们使用基于枚举的实现。

数据模型是Todo类。

数据提供者是TodoDao枚举。 TodoDao的目的,主要是将Todo存储在记忆中。 换句话说,它执行原本由数据库完成的function。

因此需要做的是:

  1. 用数据库替换TodoDao
  2. Todo映射到数据库中的表。
    • 要将Java对象连接到数据库,可以使用对象关系映射器(ORM),这可以通过使用Java Persistence API(JPA)来实现。
    • 因此,要将Todo映射到数据库表,需要使用JPA注释进行注释,从而创建JPA实体。

看看REST / JSON Web服务Java EE Framework的公认答案,它应该对需要做什么有所了解。 第1部分介绍如何创建数据库,第2部分介绍如何创建和注释JPA实体(第3部分 – 用于xml或json的JAXB绑定,第4部分 – RESTFul服务,第5部分 – 客户端)。

如果仍然遇到困难,请查看我发布的需要用Java编写RESTful JSON服务的答案,这应该适合那些想要更多细节的人,作为起点,连接到单个表中使用以下内容创建数据库并使用JSON / XML表示创建RESTful Web服务。

  • IDE:Jave EE Developers(Kepler)的Eclipse IDE,内置Maven
  • 数据库:MySQL(也使用MySQL Workbench)
  • 应用程序服务器:GlassFish 4.0
  • Java EE 7(JAX-RS,JPA,JAXB等)
  • 任何用于测试的REST客户端:(例如Postman)