gpt4 book ai didi

java - 使用PreparedStatement 没有数据插入到我的数据库中

转载 作者:行者123 更新时间:2023-11-30 01:03:17 26 4
gpt4 key购买 nike

我有一个下面的方法,它使用 preparedStatements 将数据插入到我的 SQL 数据库中。目前,天气数据被插入到 mydb.weather_data 中。由于某种原因,我在连接到数据库时没有遇到任何问题(没有收到任何连接错误),但实际上没有数据插入到我的数据库中。

我想知道问题出在哪里?下面的数字都是测试插入的虚拟数据。

我的五列的 type 分别是 varChar(10) 和其余四列的 Int

private static void batchInsertRecordsIntoTable() throws SQLException{
Connection dbConnection = null;
PreparedStatement preparedStatement = null;

String insertTableSQL = "INSERT INTO `mydb`.`weather_data`"
+ "(`dateTime`,`hourlyTemp`,`dewPoint`,`windSpeed`,`relHum`) VALUES"
+ "(?,?,?,?,?)";
try{
dbConnection = getDBConnection();
preparedStatement = dbConnection.prepareStatement(insertTableSQL);

dbConnection.setAutoCommit(false);

preparedStatement.setString(1, "1111111111"); // dateTime
preparedStatement.setInt(2, 12); // hourlyTemp
preparedStatement.setInt(3, 12); // dewPoint
preparedStatement.setInt(4, 12); //windSpped
preparedStatement.setInt(5, 12); //relHum
preparedStatement.addBatch();

preparedStatement.executeBatch();

dbConnection.commit();

System.out.println("Record was inserted into mydb weather_data");

}catch(SQLException e){
System.out.println(e.getMessage());
dbConnection.rollback();
}finally{
if(preparedStatement!=null){
preparedStatement.close();
}
if(dbConnection!=null){
dbConnection.close();
}
}
}

最佳答案

试试这个:

private static void batchInsertRecordsIntoTable() throws SQLException{
Connection dbConnection = null;
PreparedStatement preparedStatement = null;

String insertTableSQL = "INSERT INTO mydb.weather_data"
+ "(dateTime,hourlyTemp,dewPoint,windSpeed,relHum) VALUES"
+ "(?,?,?,?,?)";
try{
dbConnection = getDBConnection();
preparedStatement = dbConnection.prepareStatement(insertTableSQL);

dbConnection.setAutoCommit(false);

preparedStatement.setString(1, "1111111111"); // dateTime
preparedStatement.setInt(2, 12); // hourlyTemp
preparedStatement.setInt(3, 12); // dewPoint
preparedStatement.setInt(4, 12); //windSpped
preparedStatement.setInt(5, 12); //relHum

preparedStatement.executeUpdate();

dbConnection.commit();

System.out.println("Record was inserted into mydb weather_data");

}catch(SQLException e){
System.out.println(e.getMessage());
dbConnection.rollback();
}finally{
if(preparedStatement!=null){
preparedStatement.close();
}
if(dbConnection!=null){
dbConnection.close();
}
}
}

关于java - 使用PreparedStatement 没有数据插入到我的数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19909121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com