【问题标题】:data not being inserted from servlet to mysql table数据未从 servlet 插入 mysql 表
【发布时间】:2019-04-06 17:05:47
【问题描述】:

我正在尝试使用 java servlet、mysql 数据库制作一个注册页面。这是我的 servlet 代码的一部分。没有错误输出。数据库路径是 100% 正确的

 String uName = request.getParameter("username");
    String pass = request.getParameter("passwd");
    String rpass = request.getParameter("rpasswd");
    String email = request.getParameter("email");
        try {
           Class.forName("com.mysql.cj.jdbc.Driver");
            final String DB_URL = "jdbc:mysql://127.0.0.1:3306/userData";
            Connection con = DriverManager.getConnection(DB_URL, "serv", "serv");
            String sql = "INSERT INTO users (username, password, em) values (?, ?, ?)";
            PreparedStatement stat = con.prepareStatement(sql);
            stat.setString(1, uName);
            stat.setString(2, pass);
            stat.setString(3,email);
            con.close();
        }
        catch(SQLException e) {
            System.out.println(e);
        } catch (ClassNotFoundException e) {
            System.out.println(e);
        }

【问题讨论】:

  • 你忘了stat.execute();,也不要关闭try块中的语句或连接,在finally块中关闭它
  • 或者更好的是,使用 try-with-resources 语句让它为你关闭它。

标签: java mysql servlets


【解决方案1】:
String uName = request.getParameter("username");
String pass = request.getParameter("passwd");
String rpass = request.getParameter("rpasswd");
String email = request.getParameter("email");
Class.forName("com.mysql.cj.jdbc.Driver");
final String DB_URL = "jdbc:mysql://127.0.0.1:3306/userData";
try (Connection con = DriverManager.getConnection(DB_URL, "serv", "serv")) {
    final String sql = "INSERT INTO users (username, password, em) values (?, ?, ?)";
    final PreparedStatement stat = con.prepareStatement(sql);
    stat.setString(1, uName);
    stat.setString(2, pass);
    stat.setString(3, email);
    stat.execute(); // you miss this
} catch(Exception e) {
    System.out.println(e);
}

从PreparedStatement javadoc,execute()执行这个PreparedStatement对象中的SQL语句,可以是任何一种SQL语句。

【讨论】:

    猜你喜欢
    • 2019-11-22
    • 2013-05-04
    • 2014-06-21
    • 2014-04-04
    • 2016-10-26
    • 1970-01-01
    • 2020-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多