データベースにデータを挿入してみます。毎回このエラー1行目の 'update、stock_id)値(0、0.0、10018、1、null、0、null、0)の近くで使用する正しい構文
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'update, stock_id) values (0, 0.0, 10018, 1, null, 0, null, 0)' at line 1
データベース
CREATE TABLE `stock_log` (
`stock_id` int(11) NOT NULL AUTO_INCREMENT,
`added_employee` int(11) DEFAULT NULL,
`added_item` int(11) DEFAULT NULL,
`added_quantity` int(11) DEFAULT NULL,
`added-price` double DEFAULT NULL,
`supplier` int(11) DEFAULT NULL NOT,
`update` varchar(45) DEFAULT NULL,
`update_reason` varchar(45) DEFAULT NULL,
PRIMARY KEY (`stock_id`),
KEY `added_employee_idx` (`added_employee`),
KEY `added_item_idx` (`added_item`),
KEY `supplier_idx` (`employee`),
CONSTRAINT `added_employee` FOREIGN KEY (`added_employee`)
REFERENCES `employee` (`employee_id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `added_item` FOREIGN KEY (`added_item`)
REFERENCES `item_stock` (`item_id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `supplier` FOREIGN KEY (`supplier`)
REFERENCES `supplier`(`supplier_id`) ON DELETE NO ACTION ON UPDATE NO ACTION)
ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
モデル
@Entity
@Table(name="stock_log")
public class Stock {
@Id
@Column(name="stock_id")
private int stockId;
@Column(name="added_employee")
private int employee;
@Column(name="added_item")
private int item;
@Column(name="added_quantity")
private int addQty;
@Column(name="added_price")
private double addedPrice;
@Column(name="supplier")
private int supplier;
@Column(name="update")
private String update;
@Column(name="update_reason")
private String reason;
public Stock() {
super(); // TODO Auto-generated constructor stub
}
public Stock(int stockId, int employee, int item, int addQty,
double addedPrice, int supplier, String update, String reason) {
super();
this.stockId = stockId;
this.employee = employee;
this.item = item;
this.addQty = addQty;
this.addedPrice = addedPrice;
this.supplier = supplier;
this.update = update;
this.reason = reason;
}
//getter setter
}
サービス
を表示リポジトリ
public interface StockLogRepository extends JpaRepository<Stock, String> {
}
コントローラ
@Controller
public class CommonController {
@Autowired
SupplierService supService;
@Autowired
StockLogService stockService;
Date todayDate = Calendar.getInstance().getTime();
@RequestMapping(value="testing1")
public ModelAndView viewStock1() {
ModelAndView moView = new ModelAndView("testing1");
//Give empty stock object for ("/add")
moView.addObject("newStockCommand", new Stock());
return moView;
}
@RequestMapping(value="testing2")
public ModelAndView viewStock2(@ModelAttribute ("newStockCommand") Stock newStockCommand) {
ModelAndView moView = new ModelAndView("testing2");
moView.addObject("addedStock", newStockCommand);
stockService.saveAStock(newStockCommand);
return moView;
}
}
JSP
マークアップを多少クリーンアップしましたが(コードで4つのスペースを使用)、コードはまだかなり読めません。あなたの質問を読みやすくするために再フォーマットすることをお勧めします。書式設定の詳細については、[編集ヘルプ](https://stackoverflow.com/editing-help)を参照してください。 –
ありがとうございます。 – Yin