编写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);
/**
* 保存订单
* @param order 订单信息
* @return 是否成功, true成功,false失败
*/
public Boolean save(Order order);
@Override
public Boolean save(Order order) {
// 保存 0失败,1成功
Integer result = orderMapper.insert(order);
// 处理结果
//return result == 1 ? true : false;
return result == 1;
}
*
/**
* 添加
* @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"
}
编写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"
}
编写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("删除失败");
}
查询订单时,显示关联的用户信息(查询所有、查询详情)
编写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;
}
测试