java - JDBC,连接正常但不执行查询

标签 java mysql servlets jdbc

我正在编写一个带有 mysql 连接的小程序。我必须将数据插入数据库。连接正常,但当我尝试执行查询时,它不起作用。 executeQuery() 语句之后的所有语句都不起作用。

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, SQLException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    Connection connect=null;
    PreparedStatement preparedStatement;
    String JDBC_DRIVER="com.mysql.jdbc.Driver";
    String DB_URL="jdbc:mysql//localhost/jarvis";
    String USER = "test";
    String PASS = "test";
    try{
        Class.forName(JDBC_DRIVER);
        connect = DriverManager.getConnection(DB_URL, USER, PASS);
    }
    catch(ClassNotFoundException e){
        out.println("Errore: "+e);
    } catch (SQLException ex) {
        Logger.getLogger(Prova.class.getName()).log(Level.SEVERE, null, ex);
    }
    out.println();
    out.println("qui");
    String query = "INSERT INTO users(Nome, Cognome, Username, Password) values(?, ?, ?, ?)";
    try (PreparedStatement insert = connect.prepareStatement(query)) {

        insert.setString(1, "name");
        insert.setString(2, "sur");
        insert.setString(3, "gvhgv");
        insert.setString(4, "qfwe");

        insert.executeUpdate();
    }
    catch(Exception e){
        out.println("Errore "+e);
    }
    out.println("Fine");


}

在执行Query时,它停止工作并且不会将值插入数据库。

P.S.:对不起我的英语 foto

最佳答案

首先你的JDBC Connection URL是错误的,应该是这个

String DB_URL = jdbc:mysql://localhost/jarvis

而不是这个:

String DB_URL = jdbc:mysql//localhost/jarvis

您可以关注MySQL documentation每当您对任何事情有疑问时。

请注意,如果跳过端口,则无需提及端口,它将默认为 MySQL 的默认端口 3306。

其次,使用executeUpdate()方法而不是executeQuery方法。最好建议分块测试您的代码,例如数据库连接成功,能够从底层数据库检索数据,然后插入到数据库中。

或者更好的方法是调试您的代码,并至少提供您现在所说的找到 NullPointerException 的位置!

编辑:

如果您使用 IDE(然后在其构建路径中)和 CLASSPATH 全局变量(供我们不使用 IDE 时的引用),则必须有 JDBC Connector/J jar 可供您的代码访问。如果您不打算经常更改这些依赖项,最好将其放在您的 CLASSPATH 中。

希望这有帮助!

关于java - JDBC,连接正常但不执行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44413853/

相关文章:

java - 测试 Spring MVC 时不断收到 404 错误

java - 在云提供商上初始化虚拟机并在该计算机上运行一些自定义代码

java - 为什么 Spring Boot 中的 Keycloak 允许(预期未经授权的)用户?

java - Eclipse Mylyn 有什么用?

mysql - 无服务器离线 lambda 到主机数据库的连接被拒绝

mysql - 按值的优先顺序连接表

java - JodaTime 格式化程序困惑

php - SQL : How to reduce multiple time querying the same table ..查询优化

java - 如何在 Struts Action 中获取容器管理的数据源对象

java - 如何创建 java servlet 程序并使用 XAMPP Tomcat 运行它?