我有這個物體類,正在生成表,但我無法用資料填充它。
@Entity
@Table(name = "app_form_order_Id")
public class Order implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "orderId")
private Integer orderId;
public Integer getOrderId() {
return orderId;
}
public void setOrderId(Integer orderId) {
this.orderId = orderId;
}
}
現在,每次在控制器中呼叫此加載函式時,我們都必須增加資料庫中的資料。
@RequestMapping(value = "/ajax/form/{formId}/load", method = RequestMethod.GET)
public @ResponseBody AjaxResponseBean loadForm(HttpSession session, @PathVariable Integer formId, @RequestBody AjaxRequestBean request) {
.
.
if (!"designer".equals(request.getData().getMode())){
Order order = new Order();
}
.
.
}
這是服務類
public class OrderServiceImpl implements OrderService{
@Autowired
private OrderDao orderDao;
@Transactional(propagation = Propagation.REQUIRED, readOnly = false)
public Order addOrder(Order orderId) {
return orderDao.addOrder(orderId);
}
}
道類
public class OrderDaoImpl implements OrderDao{
@Autowired
private SessionFactory sessionFactory;
@Override
public Order addOrder(Order order) {
sessionFactory.getCurrentSession().saveOrUpdate(order);
return order;
}
有人可以幫我弄清楚如何將它鏈接到資料庫嗎?

uj5u.com熱心網友回復:
你在這里犯了很多錯誤。
- 您不需要回傳訂單(DAO 和服務)。
- 在控制器中,您正在創建一個新的 Order 物件。這意味著它是一個空物件。
由于orderId是自動遞增的,我在這里編輯它以添加lastUpdate.
DAO類
public class OrderDaoImpl implements OrderDao{
@Autowired
private SessionFactory sessionFactory;
@Override
public void addOrder(Order order) {
sessionFactory.getCurrentSession().saveOrUpdate(order);
}
服務類
public class OrderServiceImpl implements OrderService{
@Autowired
private OrderDao orderDao;
@Transactional(propagation = Propagation.REQUIRED, readOnly = false)
public void addOrder(Order order) {
orderDao.addOrder(order);
}
}
控制器
@RequestMapping(value = "/ajax/form/{formId}/load", method = RequestMethod.GET)
public @ResponseBody AjaxResponseBean loadForm(HttpSession session, @PathVariable Integer formId, @RequestBody AjaxRequestBean request) {
if (!"designer".equals(request.getData().getMode())){
Order order = new Order();
order.setLastUpdate(new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime()););
orderServiceImpl.addOrder(order);
}
}
豆類
@Entity
@Table(name = "app_form_order_Id")
public class Order implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "orderId")
private Integer orderId;
@Column(name = "lastUpdate")
private Date lastUpdate;
public Integer getOrderId() {
return orderId;
}
public void setOrderId(Integer orderId) {
this.orderId = orderId;
}
public Date getLastUpdate() {
return lastUpdate;
}
public void setLastUpdate(Date lastUpdate) {
this.lastUpdate = lastUpdate;
}
}
這是粗略鍵入的代碼。請嘗試一下。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/355976.html
上一篇:我不能在查詢中宣告
