如何从 RESTFUL Web 服务获取一些数据,并将其保存到数据库中



我编写了一些代码,通过 restful Web 服务将一些数据保存到数据库中,利用 SOAPUI 作为用户界面。我用@put来做到这一点。以下是运行的步骤:

1-在Tomcat 9.0服务器上运行代码。2-使用SOAPUI中的URL放置一些数据。

但是当我在 SOAPUI 中使用 PUT 时,给出第一个和最后一个字符串值并运行它时,这些值不会添加到我的数据库中。Hoewer,json 文件获得了正确的值

{
   "first": "Jon",
   "last": "Snow"
}

这是我代码的重要部分:

package tomcat.rest.eclipse.database;
public class Score {
    public static String first, last;
}
public class ScoreService {
@PUT
    @Path("/score")
    @Produces("application/json")
    public String update(@QueryParam("first") String first, 
                             @QueryParam("last") String last) {
                    Score.first = first;
                    Score.last = last;
                    final String var1 = Score.first;
                    final String var2 = Score.last;
                    database.insert(var1, var2);
                    String pattern = "{ "first":"%s", "last":"%s"}";
                    return String.format(pattern, Score.first, Score.last);
    }
}

这是我的联系:

public class database {
public static Connection getConnection() {
            try {
                String driver = "com.mysql.jdbc.Driver";
                String url = "jdbc:mysql://localhost:3306/testdb";
                String username = "root";
                String password = "00000";
                Class.forName(driver);
                Connection conn = DriverManager.getConnection(url, username, password);
                System.out.println("Connected");
                return conn;
            } catch(Exception e) {System.out.println(e);}
            return null;    
            }
public static void insert(final String var1, final String var2) {
        try {
            Connection con = getConnection();
            PreparedStatement posted = con.prepareStatement("INSERT INTO student (first, last) VALUES ('"+var1+"', '"+var2+"')");
            posted.executeUpdate();
        } catch(Exception e) {System.out.println(e);}
        finally {
            System.out.println("Insert completed");
        }
    }
}

控制台上的输出为:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver java.lang.ClassNotFoundException: com.mysql.jdbc.Driver java.lang.NullPointerException 插入完成

如何将 Web 服务正确连接到数据库以将某些记录保存在数据库中?非常感谢你帮助我。

只需下载 mysql 连接器 jar 并将其添加到您的项目构建路径中。

将 jar 文件添加到 WEB-INF/lib 文件夹中。右键单击您的项目 ,然后转到"构建路径>配置构建路径"添加"Web 应用程序库"库 这将确保所有 WEB-INF/lib jar 都是 包含在类路径中。

或者 jdbc mysql maven 依赖项,如果你使用 maven :

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.6</version>
</dependency>

编辑:右键单击您的项目 => 构建路径 => 配置构建 路径 => 选项卡"库",然后单击"添加外部 JAR",然后您 指向您的文件"MySQL-connector-java-5.1.17-bin.jar">

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.EmptyStackException;
public class SingletonConnection   {

    private static Connection connection = null ;
    static 
    {
        try{
            Class.forName("com.mysql.jdbc.Driver");
            connection = DriverManager.getConnection
                    ("jdbc:mysql://localhost:3306/dbnameX","root","");
        }catch(Exception ex)
        {
        }
    }
    public static Connection getConnection() throws Exception {
        return connection;
    }

}

相关内容

  • 没有找到相关文章

最新更新