@Repository
public class OrderDAO{@Resource
private JdbcTemplate jdbcTemplate;//select order by id
public Order findById(Long id){
String sql = "SELECT * from bookorder WHERE id=?";return jdbcTemplate.queryForObject(
sql,new BeanPropertyRowMapper<>(Order.class),new Object[]{id});}//select all orders
public List<Order> findOrderList(Order order){
String sql = "SELECT * from bookorder WHERE order_name LIKE ?";
return jdbcTemplate.query(
sql, new BeanPropertyRowMapper<>(Order.class),"%"+order.getOrderName()+"%");}// save a order
public void saveOrder(Order order){
String sql = "INSERT INTO bookorder(order_name,order_des) VALUES(?,?)";
jdbcTemplate.update(sql, order.getOrderName(),order.getOrderDes());}//update a order
public void updateById(Order order){
String sql = "UPDATE bookorder SET order_name =?,order_des=? WHERE id=?";
jdbcTemplate.update(
sql, order.getOrderName(),order.getOrderDes(),order.getId());}public void deleteById(Long id){
String sql="DELETE FROM bookorder WHERE id=?";
jdbcTemplate.update(sql, id);}}
service -OrderService
public interface OrderService{
public Order getOrderById(Long id);
public List<Order> getAll(Order order);
public void saveOrder(Order order);
public void updateOrder(Order order);
public void deleteOrder(Long id);}
service-OrderServiceImpl
@Service
public class OrderServiceImpl implements OrderService{@Resource
private OrderDAO orderDAO;@Override
public Order getOrderById(Long id){
return orderDAO.findById(id);}@Override
public List<Order> getAll(Order order){
return orderDAO.findOrderList(order);}@Override
public void saveOrder(Order order){
orderDAO.saveOrder(order);}@Override
@Transactional
public void updateOrder(Order order){try{
orderDAO.updateById(order);
int a = 10/0;}catch(Exception ex){}}@Override
public void deleteOrder(Long id){
orderDAO.deleteById(id);}}
controller
@Slf4j
@RestController
@RequestMapping("/rest")
public class OrderRestfulController{@Resource
private OrderService orderService;
//@RequestMapping(value="/order/{id}",method=RequestMethod.GET)@GetMapping("/order/{id}")
public ResponseEntity<?> getOrder(@PathVariable("id") Long id){
Order order = orderService.getOrderById(id);
log.info(order.toString());
return ResponseEntity.ok(order);}@PostMapping("/order/all")
public ResponseEntity<List<Order>> getOrders(@RequestBody Order order){
return ResponseEntity.ok(orderService.getAll(order));}@PostMapping("/order")
public AjaxResponse saveOrder(@RequestBody Order order){
log.info("Oder:" + order);
orderService.saveOrder(order);
return AjaxResponse.success(order);}
// public AjaxResponse saveOrder(@RequestParam long orderID,
// @RequestParam String orderName,
// @RequestParam String des,
// @DateTimeFormat(pattern="yyyy-MM-dd hh:mm:ss")
// @RequestParam Date time)
//{
// log.info("Order time:" + time);
// return AjaxResponse.success(orderID);
// }@PutMapping("/order")
public AjaxResponse updateOrder(@RequestBody Order order){
log.info("Order:"+order);if(order.getId()==0){
return AjaxResponse.parameterError(order,"OrderID should be fill in");}
orderService.updateOrder(order);
return AjaxResponse.success();}@DeleteMapping("/order/{id}")
public AjaxResponse DeleteOrder(@PathVariable Long id){
log.info("Running deleteOrder ID:"+id);if(id == null){
AjaxResponse.parameterError(id,"ID should be fill in");}
orderService.deleteOrder(id);
return AjaxResponse.success();}}
db
DROP TABLE IF EXISTS `bookorder`;/*!40101 SET @saved_cs_client = @@character_set_client */;/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `bookorder` (
`id` int NOT NULL AUTO_INCREMENT,
`order_name` varchar(32) NOT NULL,
`order_des` varchar(32) DEFAULT NULL,
`create_time` datetime NOT NULL
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`))
ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT
CHARSET=utf8mb3 COMMENT='Order list';