import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("org.wl.study.mapper") //扫描mapper 接口
public class LockDemoApplication {
public static void main(String[] args) {
SpringApplication.run(LockDemoApplication.class, args);
}
}
4 controller 编写
@RestController
public class StockController
{
public static final Logger logger = LoggerFactory.getLogger(StockController.class);
@Autowired
private StockService stockService;
@GetMapping("stock/reduce")
public void reduce(){
stockService.reduce();
logger.info("库存减了");
}
}
5 pojo / service / mapper 接口编写
package org.wl.study.pojo;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@TableName("stock")
@Data
public class Stock {
//private Integer stockNumber = 5000;
private Long id;
private String productCode;
private String wareHouse;
private Integer count;
}
@Resource
private StockMapper stockMapper;
public void reduce() {
System.out.println("=====================");
Stock stock = stockMapper.selectOne(new QueryWrapper<Stock>().eq("product_code","1001"));
if(stock != null && stock.getCount() > 0){
stock.setCount(stock.getCount() -1);
stockMapper.updateById(stock);
logger.info("库存剩余:{}", stock.getCount());
}
}
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.wl.study.pojo.Stock;
public interface StockMapper extends BaseMapper<Stock> {
}
测试结果
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@79a6caba] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@449622079 wrapping com.mysql.cj.jdbc.ConnectionImpl@14051f75] will not be managed by Spring
==> Preparing: UPDATE stock SET product_code=?, ware_house=?, count=? WHERE id=?
==> Parameters: 1001(String), BJ(String), 3993(Integer), 1(Long)
<== Updates: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@79a6caba]
23:35:30 [http-nio-10010-exec-4] INFO o.w.s.c.service.StockService - 库存剩余:3993
23:35:30 [http-nio-10010-exec-4] INFO o.w.study.controller.StockController - 库存减了