java - MySQL循环“插入”
问题描述
saveProfit 方法
public void saveProfit() throws SQLException {
ObservableList<Bread> bread = FXCollections.observableArrayList();
Connection conn = null;
PreparedStatement ps = null;
Statement statement = null;
ResultSet resultSet = null;
try {
conn = DriverManager.getConnection ("jdbc:mysql://localhost:3306/bakery", "root", "a3756421");
statement = conn.createStatement();
resultSet = statement.executeQuery("SELECT * FROM bread");
while (resultSet.next()) {
Bread newBread = new Bread(
resultSet.getString("breadName"),
resultSet.getString("breadType"),
resultSet.getString("breadFlavour"),
resultSet.getInt("breadStock"),
resultSet.getInt("breadPrice"));
newBread.setBreadId(resultSet.getInt("breadId"));
bread.add(newBread);
}
for(Bread b : bread){
String sql = "insert into best5(pname, profit) values (?,?)";
ps = conn.prepareStatement(sql);
ps.setString(1,b.getBreadName());
ps.setInt(2, b.getBreadPrice()*b.getBreadStock());
}
for(Bread b : bread){
String sql = "insert into worst5(pname, profit) values (?,?)";
ps = conn.prepareStatement(sql);
ps.setString(1,b.getBreadName());
ps.setInt(2, b.getBreadPrice()*b.getBreadStock());
}
}
}
面包对象
公共类面包{
private String breadName, breadFlavour, breadType;
private int breadStock, breadPrice, breadId;
private File imageFile;
private Image photo;
public Bread(String breadName, String breadType, String breadFlavour,int breadPrice, int breadStock) {
setBreadName(breadName);
setBreadType(breadType);
setBreadFlavour(breadFlavour);
setBreadPrice(breadPrice);
setBreadStock(breadStock);
setImageFile(new File("./src/Images/foodDefault.png"));
}
面包桌
create table bread (
breadId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
breadName VARCHAR(30),
breadType VARCHAR(30),
breadFlavour VARCHAR(30),
breadStock INT,
breadPrice DOUBLE,
imageFile VARCHAR(100));
best5 表
create table best5 (
id INT not null primary key auto_increment,
pname VARCHAR(30),
profit INT);
最坏的5表基本相同,名称不同。
所以,我试图循环insert into best5(pname, profit) values(?,?)
存储面包表中的数据。但是,似乎只有面包表的第一行存储到 best5 表中,其余的被忽略了。我究竟做错了什么?我是 javafx 和 MySQL 的新手。请纠正我的错误。
解决方案
推荐阅读
- android - android studio保存最后选择的背景图片
- bash - 如何仅在会话期间将远程服务器的登录 shell 切换为 bash?
- sql - 从下面的查询中列出管理至少两名员工的老板的姓氏
- javascript - Fabric.js - 图像质量差
- json - 在flutter中访问quicktype JSON对象
- python - 如何使用 selenium 从 CSV 文件中打开 URL?
- c - if 语句适用于任何输入
- c++ - 使用 MPI_Gather 导致无法附加到引导队列错误
- vb.net - 如何读取 System.Net.Mail.Attachment.ContentStream 属性?
- javascript - 在对象数组中查找最大的项目并返回名称