项目经验之根据查询条件分页并排序查询品牌信息
2021-01-18 13:16
标签:image str character require category led 搜索 sort data 1.数据库表 品牌和商品分类之间是多对多关系,需要一张中间表来维护两者间关系 没有设置外键约束 外键会严重影响数据库读写的效率 数据删除时会比较麻烦 在代码中通过逻辑来维护表关系,而不设置外键。 2.建立实体类 3.mapper(通用mapper来简化开发) 3.1.引入通用mapper依赖 3.2.在启动类上记得添加@MapperScan(mapper包路径) 4.Controller类编写 编写controller先思考四个问题,参照前端页面的控制台 请求方式:查询,肯定是Get 请求路径:分页查询,/brand/page 请求参数:根据我们刚才编写的页面,有分页功能,有排序功能,有搜索过滤功能,因此至少要有5个参数: page:当前页,int rows:每页大小,int sortBy:排序字段,String desc:是否为降序,boolean key:搜索关键词,String 响应结果:分页结果一般至少需要两个数据 total:总条数 items:当前页数据 totalPage:有些还需要总页数 4.1首先需要封装一个类,来表示分页结果: 4.2编写controller类 5.编写server类 项目经验之根据查询条件分页并排序查询品牌信息 标签:image str character require category led 搜索 sort data 原文地址:https://www.cnblogs.com/zxh06820/p/12913136.htmlCREATE TABLE `tb_brand` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘品牌id‘,
`name` varchar(50) NOT NULL COMMENT ‘品牌名称‘,
`image` varchar(200) DEFAULT ‘‘ COMMENT ‘品牌图片地址‘,
`letter` char(1) DEFAULT ‘‘ COMMENT ‘品牌的首字母‘,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=325400 DEFAULT CHARSET=utf8 COMMENT=‘品牌表,一个品牌下有多个商品(spu),一对多关系‘;
CREATE TABLE `tb_category_brand` (
`category_id` bigint(20) NOT NULL COMMENT ‘商品类目id‘,
`brand_id` bigint(20) NOT NULL COMMENT ‘品牌id‘,
PRIMARY KEY (`category_id`,`brand_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=‘商品分类和品牌的中间表,两者是多对多关系‘;
@Table(name = "tb_brand")
public class Brand {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;// 品牌名称
private String image;// 品牌图片
private Character letter;
// getter setter 忽略吧
}
public interface BrandMapper extends Mapper
@SpringBootApplication
@EnableDiscoveryClient
@MapperScan("com.leyou.item.mapper") // mapper接口的包扫描
public class ItemServiceApplication {
public static void main(String[] args) {
SpringApplication.run(ItemServiceApplication.class, args);
}
}
public class PageResult
@RestController
@RequestMapping("brand")
public class BrandController {
@Autowired
private BrandService brandService;
/**
* 根据查询条件分页并排序查询品牌信息
* @param key
* @param page
* @param rows
* @param sortBy
* @param desc
* @return
*/
@GetMapping("page")
public ResponseEntity
@Service
public class BrandService {
@Autowired
private BrandMapper brandMapper;
/**
* 根据查询条件分页并排序查询品牌信息
*
* @param key
* @param page
* @param rows
* @param sortBy
* @param desc
* @return
*/
public PageResult
文章标题:项目经验之根据查询条件分页并排序查询品牌信息
文章链接:http://soscw.com/index.php/essay/43691.html