SpringBoot Business exmaple

pom xml

		<dependency>
		    <groupId>org.springframework.boot</groupId>
		    <artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>

		<dependency>
		    <groupId>mysql</groupId>
		    <artifactId>mysql-connector-java</artifactId>
		    <version>8.0.33</version>
		</dependency>

yml file

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mybook?useUnicode=true&characterEncoding=utf-8
    username: root
    password: ENC(BHwwNZhfnSS9QLRiWYLuMw==)
    driver-class-name: com.mysql.cj.jdbc.Driver

dao

@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';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值