如何用java插入mysql数据库

Oma*_*med 3 java mysql

我想将从用户处获取的输入插入到 mysql 数据库中,连接正确,但插入给了我错误

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本对应的手册,了解在 ''u_fname', 'u_lname', 'u_uname', 'u_pass', 'u_age', 'u_adderess') 附近使用的正确语法:values('20','o ' 在第 1 行

我的代码是:

public void adduser(User s) {
   try {
        sql = "insert into users ('u_fname', 'u_lname', 'u_uname', 'u_pass', 'u_age', 'u_adderess')"
                + "values('" + s.getFirstname() + "','" + s.getLastname()
                + "','" + s.getUsername() + "','" + s.getPassword() + "','" + s.getAge() + "','" + s.getAdderss() + "')";
        stmt = conn.createStatement();
        int i = stmt.executeUpdate(sql);
        if (i > 0) {
            System.out.println("ROW INSERTED");
        } else {
            System.out.println("ROW NOT INSERTED");
        }
    } catch (Exception e) {
        System.out.println(e);
    }

}
Run Code Online (Sandbox Code Playgroud)

Kum*_*Kum 6

要插入 mysql,请按照下列步骤操作:

  1. 创建到我们的示例 MySQL 数据库的 Java 连接。我相信你已经处理好了。会是这样的——

      String myDriver = "org.gjt.mm.mysql.Driver";
      String myUrl = "jdbc:mysql://localhost/test";
      Class.forName(myDriver);
      Connection conn = DriverManager.getConnection(myUrl, "root", "");
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用 JavaPreparedStatement 语法创建 SQL INSERT 语句。您的PreparedStatement SQL 语句将遵循以下格式:

      String sql = " insert into users (first_name, last_name, date_created, is_admin, num_points)"
        + " values (?, ?, ?, ?, ?)";
    
    Run Code Online (Sandbox Code Playgroud)
  3. 设置 JavaPreparedStatement 对象上的字段。它将完成为-

      PreparedStatement preparedStmt = conn.prepareStatement(sql);
      preparedStmt.setString (1, s.first_name);
      preparedStmt.setString (2, s.last_name);
      preparedStmt.setDate   (3, s.date_created);
      preparedStmt.setBoolean(4, s.is_admin);
      preparedStmt.setInt    (5, s.num_points);
    
    Run Code Online (Sandbox Code Playgroud)
  4. 执行 Java 准备语句。

      preparedStmt.execute();
    
    Run Code Online (Sandbox Code Playgroud)
  5. 关闭我们的 Java MYSQL 数据库连接。

      conn.close();
    
    Run Code Online (Sandbox Code Playgroud)
  6. 捕获在此过程中可能出现的任何 SQL 异常。

      catch (Exception e)
      {
      System.err.println("Got an exception!");
      // printStackTrace method 
      // prints line numbers + call stack
      e.printStackTrace();
      // Prints what exception has been thrown 
      System.out.println(e); 
      }
    
    Run Code Online (Sandbox Code Playgroud)