Blage's Coding Blage's Coding
Home
算法
  • 手写Spring
  • SSM
  • SpringBoot
  • JavaWeb
  • JAVA基础
  • 容器
  • Netty

    • IO模型
    • Netty初级
    • Netty原理
  • JVM
  • JUC
  • Redis基础
  • 源码分析
  • 实战应用
  • 单机缓存
  • MySQL

    • 基础部分
    • 实战与处理方案
    • 面试
  • ORM框架

    • Mybatis
    • Mybatis_Plus
  • SpringCloudAlibaba
  • MQ消息队列
  • Nginx
  • Elasticsearch
  • Gateway
  • Xxl-job
  • Feign
  • Eureka
  • 面试
  • 工具
  • 项目
  • 关于
🌏本站
🧸GitHub (opens new window)
Home
算法
  • 手写Spring
  • SSM
  • SpringBoot
  • JavaWeb
  • JAVA基础
  • 容器
  • Netty

    • IO模型
    • Netty初级
    • Netty原理
  • JVM
  • JUC
  • Redis基础
  • 源码分析
  • 实战应用
  • 单机缓存
  • MySQL

    • 基础部分
    • 实战与处理方案
    • 面试
  • ORM框架

    • Mybatis
    • Mybatis_Plus
  • SpringCloudAlibaba
  • MQ消息队列
  • Nginx
  • Elasticsearch
  • Gateway
  • Xxl-job
  • Feign
  • Eureka
  • 面试
  • 工具
  • 项目
  • 关于
🌏本站
🧸GitHub (opens new window)
  • 手写Spring

  • SSM

  • SpringBoot

  • JavaWeb

    • 前端基础
    • 后端基础
    • Thymeleaf视图模板
    • session会话
    • Servlet
    • Servlet优化
    • 依赖注入
    • 过滤器
    • 监听器
    • 正则表达式
    • 项目经验
  • Spring
  • JavaWeb
phan
2023-05-15

项目经验

# 项目经验

  • 数据库给某个表添加记录,DAO层addXX最好的传参做法是直接传入一个pojo实体,然后再一个个把实体对象的具体属性对应上Sql语句where当中。因为这样做比较方便程序员理解

    addTopic(Topic topic){
    super.ExecuteUpdate('insert...values(0,?,?,?)',topic.author,topic.title,topic.context)   
    }
    
    1
    2
    3
  • 实体类中存在一对一或者一对多关系时,比如A表中的外键id引用B表的id,创建实体类时,A中的bId属性最好是实体类B,这样前端或者其它业务要进一步使用到关联的B表属性,可以直接调用b对象,否则如果仅存bid还要进行一次表查询。缺点在于根据底层数据库返回数据使用反射封装类时,返回的Integer bid,因此需要进一步封装成B对象。

    public class A{
    Integer id;
    String title;
    B b;
    }
    
    1
    2
    3
    4
    5
  • 可以根据业务需要或者一对多关系,给实体类添加新的属性,比如List<>,这样便于业务处理。

  • 数据库或前端的数值类型

    • 进行统计的复杂查询时(count/sum),记得留心注意返回类型(Long/BigDecimal)

    • java进行double运算后,会进行精度调整,导致小数点位数异常,方法是使用BigDecimal类型通过字符串调用乘除法。

      public Double getXj() {
          BigDecimal bigDecimalPrice = new BigDecimal(""+getBook().getPrice());
          BigDecimal bigDecimalBuyCount = new BigDecimal(""+buyCount);
          BigDecimal bigDecimalXJ = bigDecimalPrice.multiply(bigDecimalBuyCount);
          xj = bigDecimalXJ.doubleValue() ;
          return xj;
      }
      
      1
      2
      3
      4
      5
      6
      7
编辑 (opens new window)
#问题总结
上次更新: 2023/12/15, 15:49:57
正则表达式

← 正则表达式

Theme by Vdoing | Copyright © 2023-2024 blageCoder
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式