java - 与 Java Rest Web 服务的手动数据库连接( Jersey )

标签 java mysql rest connection jersey

我想知道是否有人可以帮我解决一个小问题。我正在尝试使用 Jersey 在 Java 中创建一个 restfull 服务。

但是我找不到任何关于如何建立手动数据库连接的例子。如果我这样做,连接在查询数据库时返回一个空指针。

public DbConnection()
{
    try 
    {
        // This will load the MySQL driver, each DB has its own driver
        Class.forName("com.mysql.jdbc.Driver");
        // Setup the connection with the DB
        connection =     DriverManager.getConnection("jdbc:mysql://url/team_staging?"
                        + "user=X&password=X");
    }
    catch (ClassNotFoundException ex) 
    {
        Logger.getLogger(DbConnection.class.getName()).log(Level.SEVERE, null, ex);
    } 
    catch (SQLException ex) 
    {
        Logger.getLogger(DbConnection.class.getName()).log(Level.SEVERE, null, ex);
    }
}

有人可以在这里指出正确的方向吗?我不想使用任何 ORM。

我发现很难在 netbeans 中找到没有 hibernate 或自动生成的休息服务的好例子......

我的问候, 车轴

最佳答案

我认为您避开 ORM 解决方案的本能是好的。

您正在编写 Web 服务,这意味着它至少部署在 servlet/JSP 引擎(例如 Tomcat)或完整的 Java EE 应用程序服务器上。我将学习如何为您的应用服务器创建 JNDI 连接池。

您想外部化您的连接参数(例如驱动程序、URL 等)

我没有看到该连接的类成员。当你退出 ctor 时会发生什么?超出范围了吗?这可以解释 NPE。

我会这样写:

package persistence;

public class DatabaseUtils {
    private DatabaseUtils() {}

    public static Connection getConnection(String driver, String url, String username, String password) throws Exception {
        Class.forName(driver);
        return DriverManager.getConnection(url, username, password);
    }
}

关于java - 与 Java Rest Web 服务的手动数据库连接( Jersey ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21830570/

相关文章:

PHP MySQL 查询以在上周周四至周三获得结果

java - 如何使用 Spring RESTful Web 服务观看视频

java - 服务器端请求伪造漏洞

java - 可轮询干扰器

php - 尝试在 HTML 表中显示 MySQL 查询的结果

mysql - 将 1.7.4 升级到 django 1.8 south.db.mysql 错误,未使用 South

c# - 黑客能否超越桌面应用程序的互联网 http 休息调用?

javascript - 来自rest api的图像/png响应未在浏览器中显示

java - Selenium 测试在本地工作但在 Jenkins 中失败

java - 无法执行目标 org.sonarsource.scanner.maven :sonar-maven->plugin:3. 0.1:sonar (default-cli)