[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NsO23Eaa-1671167535518)(C:\Users\19666\AppData\Roaming\Typora\typora-user-images\image-20221216124424149.png)]
**
**一、dao层
1、
@Mapper
public interface GoodsDao extends BaseMapper<Goods> {
}
2、
@Mapper
public interface StoreDao extends BaseMapper<Store> {
}
3、
@Mapper
public interface WarehouseDao extends BaseMapper<Warehouse> {
}
二、实体类
1、Goods
@Data
@TableName("tb_goods")
public class Goods {
@TableId(value="goods_id",type= IdType.AUTO)
private Integer id; //商品id
@TableField(value = "goods_no")
private String no; //商品编号
@TableField(value = "goods_price")
private Integer price; //商品单价
@TableField(value = "goods_unit")
private String unit; //商品计量单位
@TableField(value = "goods_type")
private String type; //商品类型
@TableField(value = "goods_introduce")
private String introduce; //商品介绍
@TableField(value = "goods_delete")
// @TableLogic(value = "false",delval = "true") //默认0代表未删除,1代表删除 //可以写到配置中去
private boolean deleted; //逻辑删除字段
}
2、Store
@Data
@TableName("tb_store")
public class Store {
@TableId(value="store_id",type= IdType.AUTO)
private Integer id; //商品id
@TableField(value = "goods_no")
private String goodNo; //商品编号
@TableField(value = "warehouse_no")
private String warehouseNo; //商品单价
@TableField(value = "goods_amount")
private String amount; //商品计量单位
@TableField(value = "goods_unit")
private String unit; //商品类型
@TableField(value = "store_delete")
// @TableLogic(value = "false",delval = "true") //默认0代表未删除,1代表删除 //可以写到配置中去
private boolean deleted; //逻辑删除字段
}
3、Warehouse
@Data
@TableName("tb_warehouse")
public class Warehouse {
@TableId(value = "warehouse_id",type = IdType.AUTO)
private Integer id;
@TableField(value = "warehouse_no") //value可以省略
private String no;
@TableField(value = "warehouse_name")
private String name;
@TableField(value = "warehouse_delete")
private boolean deleted;
}
三、业务层
1、
@RestController
@RequestMapping("/goods") //也可以用的postman测试
public class GoodsController {
// @Autowired
@Resource
private GoodsDao goodsDao;
@GetMapping
public List<Goods> selectAll(){
//查询所有
LambdaQueryWrapper lqw=new LambdaQueryWrapper(null);
List<Goods> list = goodsDao.selectList(lqw);
System.out.println(list);
return list;
}
@GetMapping("/{type}")
public List<Goods> selectByType(@PathVariable String type){
//模糊查询
LambdaQueryWrapper<Goods> lqw=new LambdaQueryWrapper<>();
lqw.like(Goods::getType,type);
List<Goods> list = goodsDao.selectList(lqw);
System.out.println(list);
return list;
}
@PostMapping
public int save(@RequestBody Goods goods){
//新增操作
int insert = goodsDao.insert(goods);
return insert;
}
@DeleteMapping("/{id}")
public int deleteById(@PathVariable Integer id){
//逻辑删除
int i = goodsDao.deleteById(id);
return i;
}
@PutMapping
public int update(@RequestBody Goods goods){
//更新
int i = goodsDao.updateById(goods);
return i;
}
}
2、
@RestController
@RequestMapping("/store") //这里也可以用postman测试
public class StoreController {
@Resource
private StoreDao storeDao;
@GetMapping
public List<Store> selectAll(){
//查询所有
LambdaQueryWrapper<Store> lqw = new LambdaQueryWrapper(null);
List<Store> list = storeDao.selectList(lqw);
System.out.println(list);
return list;
}
@PutMapping
public int update(@RequestBody Store store){
//更新
int i = storeDao.updateById(store);
return i;
}
}
3、
@RestController
@RequestMapping("/warehouse") //也可以用的postman测试
public class WarehouseController {
@Resource
private WarehouseDao warehouseDao;
@GetMapping
public List<Warehouse> selectAll(){
//查询所有
List<Warehouse> warehouses = warehouseDao.selectList(null);
return warehouses;
}
@GetMapping("/{name}")
public List<Warehouse> selectByName(@PathVariable String name){
//模糊查询
LambdaQueryWrapper<Warehouse> lqw = new LambdaQueryWrapper<>();
lqw.like(Warehouse::getName,"仓库");
List<Warehouse> warehouses = warehouseDao.selectList(lqw);
return warehouses;
}
@PostMapping
public int save(@RequestBody Warehouse warehouse){
//新增仓库信息
int insert = warehouseDao.insert(warehouse);
return insert;
}
@PutMapping
public int update(@RequestBody Warehouse warehouse){
//修改仓库信息
int i = warehouseDao.updateById(warehouse);
return i;
}
@DeleteMapping("/{id}")
public int deleteById(@PathVariable Integer id){
int i = warehouseDao.deleteById(id);
return i;
}
}
四、配置swagger(config.SwaggerConfig)
@Configuration
@EnableSwagger2 //开启swagger
public class SwaggerConfig {
//配置了Swagger的Docket的bean实例
@Bean
public Docket docket(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//RequestHandlerSelectors配置扫描接口的方式
//basePackage指定要扫描的包
//any()扫描全部
//none()不扫描
.apis(RequestHandlerSelectors.basePackage("com.llw.controller"))
//paths()过滤路径
.build()
;
}
//配置swagger信息=apiInfo
private ApiInfo apiInfo(){
//作者信息
Contact contact=new Contact("李龙威","http://llw.com","1966641163@qq.com");
return new ApiInfo(
"龙威",
"杰杰",
"v1.0",
"http://llw.com",
contact,
"Apache 2.0",
"http://www.apache.org/licenses/LICENSE-2.0",
new ArrayList()
);
}
}
//Test
@SpringBootTest
class LlwApplicationTests {
@Resource
private GoodsDao goodsDao;
@Test
void selectAll() {
//查询全部
List<Goods> list = goodsDao.selectList(null);
System.out.println(list);
}
@Test
void selectByType(){
//模糊查询
LambdaQueryWrapper<Goods> lqw = new LambdaQueryWrapper<>();
lqw.like(Goods::getType,"水");
List<Goods> goods = goodsDao.selectList(lqw);
System.out.println(goods);
}
@Test
void save(){
//增加
Goods goods=new Goods();
goods.setNo("3");
goods.setPrice(40);
goods.setUnit("30");
goods.setType("蔬菜");
goods.setIntroduce("有营养");
int insert = goodsDao.insert(goods);
System.out.println(insert);
}
@Test
void deleteById(){
int i = goodsDao.deleteById(3);
System.out.println(i);
}
@Test
void update(){
Goods goods=new Goods();
goods.setId(4);
goods.setIntroduce("好吃");
int i = goodsDao.updateById(goods);
System.out.println(i);
}
@Autowired
private StoreDao storeDao;
@Test
void selectAllStore(){
List<Store> stores = storeDao.selectList(null);
System.out.println(storeDao);
}
@Autowired
private WarehouseDao warehouseDao;
@Test
void selectAllWarehouse(){
//查询全部
List list = warehouseDao.selectList(null);
System.out.println(list);
}
@Test
void selectByName(){
//模糊查询
LambdaQueryWrapper<Warehouse> lqw = new LambdaQueryWrapper<>();
lqw.like(Warehouse::getName,"水果");
List<Warehouse> warehouses = warehouseDao.selectList(lqw);
System.out.println(warehouses);
}
@Test
void saveWarehouse(){
//增加仓库信息
Warehouse warehouse=new Warehouse();
warehouse.setNo("2");
warehouse.setName("仓库2");
int insert = warehouseDao.insert(warehouse);
System.out.println(insert);
}
@Test
void updateWarehouse(){
//修改仓库信息
Warehouse warehouse = new Warehouse();
warehouse.setId(2);
warehouse.setName("仓库t");
int update = warehouseDao.updateById(warehouse);
System.out.println(update);
}
@Test
void deleteByIdWarehouse(){
int i = warehouseDao.deleteById(2);
System.out.println(i);
}
}
//修改仓库信息
Warehouse warehouse = new Warehouse();
warehouse.setId(2);
warehouse.setName("仓库t");
int update = warehouseDao.updateById(warehouse);
System.out.println(update);
}
@Test
void deleteByIdWarehouse(){
int i = warehouseDao.deleteById(2);
System.out.println(i);
}
}