Я пытаюсь использовать Java-код для вставки данных в базу данных MySQL.Я построил пользовательскую таблицу в базе данных.Таблица пользователей имеет 4 поля: id, имя пользователя, пароль и адрес.
mysql> desc user;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| username | varchar(32) | YES | | NULL | |
| password | varchar(64) | YES | | NULL | |
| address | varchar(64) | YES | | NULL | |
+----------+-------------+------+-----+---------+----------------+
Это мой код Java.
Connection conn = null;
PreparedStatement stmt = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC";
String mysqlUserName = "root";
String mysqlPassword = "123456";
conn = DriverManager.getConnection(url, mysqlUserName, mysqlPassword);
String sql = "INSERT INTO user(username,password,address) VALUES (?,?,?)";
stmt = conn.prepareStatement(sql);
stmt.setString(1,"11dsa1");
stmt.setString(2,"111");
stmt.setString(3,"111");
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
if (conn!=null)
conn.close();
}catch (SQLException e){
}
try {
if (stmt!=null)
stmt.close();
}catch (SQLException e){
}
}
Ошибка не возникла .Но в моей базе данных нет данных.
mysql> select * from user;
Empty set (0.01 sec)
Но я могу вставить данные с помощью оболочки.
mysql> insert into user(username,password,address) values ("aaa","aaa","aaa");
Query OK, 1 row affected (0.09 sec)
mysql> select * from user;
+----+----------+----------+---------+
| id | username | password | address |
+----+----------+----------+---------+
| 22 | aaa | aaa | aaa |
+----+----------+----------+---------+
1 row in set (0.00 sec)
Но идентификатор равен 22, а не 1!
На самом деле Я запускал этот код Java 21 раз до .Насколько я понимаю, этот Java-код может вставлять данные в MySQL, но немедленно удалить данные из базы данных.Я действительно не могу понять эту нелепую ситуацию