.2.5 添加
-
编写OrderMapper接口中的insert方法
-
编写OrderService接口中的save方法
-
编写OrderServiceImpl实现类中的save方法
-
编写OrderController中的add方法
-
编写OrderMapper接口中的insert方法
/**
* 插入
* @param order
* @return
*/
@Insert("insert into `order`(oid,price,user_id) values(#{oid},#{price},#{userId}) ")
public Integer insert(Order order);
- 编写OrderService接口中的save方法
/**
* 保存订单
* @param order 订单信息
* @return 是否成功, true成功,false失败
*/
public Boolean save(Order order);
- 编写OrderServiceImpl实现类中的save方法
@Override
public Boolean save(Order order) {
// 保存 0失败,1成功
Integer result = orderMapper.insert(order);
// 处理结果
//return result == 1 ? true : false;
return result == 1;
}
- 编写OrderController中的add方法
*
/**
* 添加
* @param order
* @return
*/
@PostMapping
public ResponseEntity<String> add(@RequestBody Order order) {
//保存
Boolean result = orderService.save(order);
//处理结果(临时写法)
if(result) {
//成功
return ResponseEntity.ok("添加成功");
} else {
//失败
return ResponseEntity.ok("添加失败");
}
}
-
测试:
{ "oid": "x006", "price": 998, "userId": "u001" }
2.2.6 修改
-
编写OrderMapper接口中的update方法
-
编写OrderService接口中的update方法
-
编写OrderServiceImpl实现类中的update方法
-
编写OrderController中的update方法
-
编写OrderMapper接口中的update方法
/** * 修改 * @param order * @return */ @Update("update `order` set price=#{price}, user_id=#{userId} where oid=#{oid}") public Integer update(Order order);
-
编写OrderService接口中的update方法
/** * 修改 * @param order * @return */ public Boolean update(Order order);
-
编写OrderServiceImpl实现类中的update方法
@Override public Boolean update(Order order) { //修改: 0失败,=1成功 >1失败 Integer result = orderMapper.update(order); //处理结果 return result == 1; }
-
编写OrderController中的update方法
/** * 修改 * @param order * @return */ @PutMapping public ResponseEntity<String> update(@RequestBody Order order) { //更新 Boolean result = orderService.update(order); //处理结果 if(result) { return ResponseEntity.ok("更新成功"); } // 失败 return ResponseEntity.ok("更新失败"); }
-
测试
{ "oid": "x006", "price": 9998, "userId": "u002" }
2.2.7 删除
-
编写OrderMapper接口中的deleteById方法
-
编写OrderService接口中的deleteById方法
-
编写OrderServiceImpl实现类中的deleteById方法
-
编写OrderController中的deleteById方法
-
编写OrderMapper接口中的deleteById方法
/** * 通过id删除 * @param oid * @return */ @Delete("delete from `order` where oid=#{oid}") public Integer deleteById(@Param("oid") String oid);
-
编写OrderService接口中的deleteById方法
/** * 通过id删除 * @param oid * @return */ public Boolean deleteById(String oid);
-
编写OrderServiceImpl实现类中的deleteById方法
@Override public Boolean deleteById(String oid) { //删除 Integer result = orderMapper.deleteById(oid); //处理结果 return result == 1; }
-
编写OrderController中的deleteById方法
/** * 删除 * @param oid * @return */ @DeleteMapping("/{oid}") public ResponseEntity<String> deleteById(@PathVariable("oid") String oid) { //删除 Boolean result = orderService.deleteById(oid); //处理 if(result) { return ResponseEntity.ok("删除成功"); } return ResponseEntity.ok("删除失败"); }
2.2.8 关联查询
-
查询订单时,显示关联的用户信息(查询所有、查询详情)
-
编写JavaBean:User
-
编写Mapper:UserMapper,通过id查询详情selectById
-
修改JavaBean:Order,添加User属性
-
修改OrderServiceImpl,注入UserMapper,完成关联查询
-
编写JavaBean:User
package com.czxy.domain; import lombok.Data; //@Data public class User { private String uid; private String username; //重写 getter和setter方法、toString方法 }
-
编写Mapper:UserMapper,通过id查询详情selectById
package com.czxy.mapper; import com.czxy.domain.User; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @Mapper public interface UserMapper { /** * 通过id查询详情 * @param uid * @return */ @Select("select * from user where uid=#{uid}") public User selectById(@Param("uid") String uid); }
-
修改JavaBean:Order,添加User属性
package com.czxy.domain; import lombok.Data; //@Data public class Order { private String oid; private Integer price; private String userId; //多对一,多个订单属于一个用户 private User user; //重写 getter和setter方法、toString方法 }
-
修改OrderServiceImpl,注入UserMapper,完成关联查询
package com.czxy.service.impl; import com.czxy.domain.Order; import com.czxy.domain.User; import com.czxy.mapper.OrderMapper; import com.czxy.mapper.UserMapper; import com.czxy.service.OrderService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.List; @Service @Transactional public class OrderServiceImpl implements OrderService { @Resource private OrderMapper orderMapper; @Resource private UserMapper userMapper; @Override public List<Order> selectAll() { //查询 List<Order> orderList = orderMapper.selectAll(); //关联查询 for(Order order: orderList) { User user = userMapper.selectById(order.getUserId()); order.setUser(user); } //返回 return orderList; } @Override public Order selectById(String oid) { //查询 Order order = orderMapper.selectById(oid); //关联查询 User user = userMapper.selectById(order.getUserId()); order.setUser(user); //返回 return order; }
-
测试