当前位置: 首页 > article >正文

2k_Day3:搞清楚最基本简单的crud

写一个简简单单的产品基础功能

产品基础嘛,就很单一的product表增删改查批量,字段也是很简单。
ID、产品code、标题、简介、关键词、缩略图、更新者、更新日期、排序ID、是否启动

然后,额外字段也能选择性加一加

产品类型、所属分类、详情内容、库存量、点击量、是否推荐、是否最新、是否置顶、来源、

最基础最简单,因为没包括验签、过滤、网关、均衡、空值判断、日志、异常处理。所以是最简单的。

搞清楚每层的工作:

1.简单的搞清几步

公共:

1、先引用springweb、openfeign

2、服务的包:com.shop-admin.xxx(products/order/ware/coupon)

3、统一用springBoot 2.3.1RELEASE(只要求统一)

4、复制一个pom.xml到主目录,加上modules,一起启动,方便管理。

5、每个application、application.yml、application.properties的最初始配置(sqldatasoruce、mybatiesPlus)

pom.xml

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.shopAdmin</groupId>
    <artifactId>shopAdmin</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>shopAdmin</name>
    <description>聚合服务</description>

    <packaging>pom</packaging>
<modules>
    <module>common</module>
    <module>doneproduct</module>
    <module>products</module>
</modules>


java/Application.java

package com.shopadmin.products;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ProductsApplication {
    public static void main(String[] args) {
        SpringApplication.run(ProductsApplication.class, args);
    }
}

注解加@SpringBootApplication,标记是程序启动,之前有了解到注解是个组合注解。

resources/application.properties和application.yml

# 应用服务 WEB 访问端口
server.port=8080
spring:
  datasource:
    url: jdbc:sqlserver://localhost:54416;DatabaseName=shop;encrypt=false
    username: abc
    password: 123
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
mybatis-plus:
  mapper-locations: classpath*:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: auto
server:
  port: 10000

application.yml配置数据库、mybatisPlus、服务器的端口。

2.业务的分层

contorller层:

productsController.java

@RestController
@RequestMapping("produts")
public class ProdutsController {
    @Autowired
    private produtsService produtsService;
    
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,@PathVariable("Id") int oid){
        PageUtils page = produtsService.queryPage(params);
        return R.ok().put("page", page);
    }
}

接口控制器注解:@RestController、@RequestMapping("路径")

自动匹配bean注解:  @Autowired

接口入参注解:@RequestParam、@PathVariable

service层:(接口)

public interface produtsService extends IService<DoneprodutsEntity> 
{
    PageUtils queryPage(Map<String, Object> params);
}

service/impl:(实现类)

@Service("produtsService")
public class produtsServiceImpl extends ServiceImpl<produtsDao, produtsEntity> 
implements produtsService 
{

    @Override
    public PageUtils queryPage(Map<String, Object> params) {
        IPage<produtsEntity> page = this.page(
                new Query<produtsEntity>().getPage(params),
                new QueryWrapper<produtsEntity>()
        );

        return new PageUtils(page);
    }

}

实现Service注解:@Service 

扩展Dao、Entity类,继承service接口

重写注解:@Override

3.公共类

R.java(返回集的统一规范)

SQLFilter.java(防SQL注入、非法字符、用词)

HTMLFilter.java(过滤HTML危险访问)

Query.java(分页工具类)


http://www.kler.cn/a/271769.html

相关文章:

  • Hive:Hive Shell技巧
  • mac安装dockerdesktop优化
  • spring中解决循环依赖的方法
  • Julius AI 人工智能数据分析工具介绍
  • 记录 | Docker的windows版安装
  • 宫本茂的游戏设计思想:有趣与风格化
  • 大模型笔记:吴恩达 ChatGPT Prompt Engineering for Developers(1) prompt的基本原则和策略
  • 论文阅读——RemoteCLIP
  • Axios:贯穿前后端的数据链
  • D-Star 寻路算法
  • 【LGR-179-Div.2】复旦勰码 3 月月赛 II ZHYOI Round 4(A~B)
  • [MySQL]数据库基础
  • Peter算法小课堂—最大边最短路
  • JDK、JRE和JVM的区别
  • el-table左键双击单元格编辑内容(输入框输入计算公式可直接得出结果),右键单击展示操作菜单,可编辑单元格高亮展示
  • 电脑充电器能充手机吗?如何给手机充电?
  • EKF+PF的MATLAB例程
  • CSS Module
  • 聊聊Python都能做些什么
  • 应对磁盘管理挑战:Linux磁盘分区挂载命令实践指南
  • Linux系统之部署Hextris网页小游戏
  • 使用 Docker Compose 快速搭建监控网站 uptime-kuma
  • 【网络编程基础(一)】网络基础和SOCKET
  • 代码规范工具
  • Rust学习02:推荐一本入门书,免费的
  • 封装哈希表