zoukankan      html  css  js  c++  java
  • Dao层设计

    一.关于Dao层 DB 对象的设计。

    1.设计DB对象时,请使用包装类。因为从数据库中查出的数据项可能是null,对于int,boolean等简单数据类型,没有办法表示null,会使程序抛出异常。

    2.对于mysql要设计是否类型的字段请使用TINYINT类型,对应的java类型为Boolean。

    3.CRUD操作方法:获取单个对象请用get作前缀、获取数据列表请用list作前缀、更新请用update作前缀、删除请用delete作前缀。

    3.对于mysql 字段类型 到Java类型的映射,请参考如下如所示。

    MySQL数据类型 JAVA数据类型 JDBC TYPE 普通变量类型 主键类型
    BIGINT Long BIGINT 支持 支持
    TINYINT Byte TINYINT 支持 不支持
    SMALLINT Short SMALLINT 支持 不支持
    MEDIUMINT Integer INTEGER 支持 支持
    INTEGER Integer INTEGER 支持 支持
    INT Integer INTEGER 支持 支持
    FLOAT Float REAL 支持 不支持
    DOUBLE Double DOUBLE 支持 不支持
    DECIMAL BigDecimal DECIMAL 支持 不支持
    NUMERIC BigDecimal DECIMAL 支持 不支持
    CHAR String CHAR 支持 不支持
    VARCHAR String VARCHAR 支持 不支持
    TINYBLOB DataTypeWithBLOBs.byte[] BINARY 不支持 不支持
    TINYTEXT String VARCHAR 支持 不支持
    BLOB DataTypeWithBLOBs.byte[] BINARY 不支持 不支持
    TEXT DataTypeWithBLOBs.String LONGVARCHAR 不支持 不支持
    MEDIUMBLOB DataTypeWithBLOBs.byte[] LONGVARBINARY 不支持 不支持
    MEDIUMTEXT DataTypeWithBLOBs.String LONGVARCHAR 不支持 不支持
    LONGBLOB DataTypeWithBLOBs.byte[] LONGVARBINARY 不支持 不支持
    LONGTEXT DataTypeWithBLOBs.String LONGVARCHAR 不支持 不支持
    DATE Date DATE 支持 不支持
    TIME Date TIME 支持 不支持
    YEAR Date DATE 不支持 不支持
    DATETIME Date TIMESTAMP 支持 不支持
    TIMESTAMP Date TIMESTAMP 支持 不支持

    二.mysql 建表规范

    1.表主键id 请使用类型 bigint(20)。

    2.表示是否 请使用 tinyint。

    3.没有详细字段注释、表注释,坚决不给建立、修改表。

    4.关于状态的字段,必须注释详细状态值对应的含义。

    5.表新增字段必须确定添加在哪个字段之后。

  • 相关阅读:
    wabpack 多页面 react配置 (对比单页面)
    vue-router+nginx非根路径的配置方法
    Vue-Devtools快速安装配置教程
    C++字符串
    NSIS插件制作
    HOOK学习
    排序:数组置顶元素(将数组某个元素排到第一位)
    raect hook中使用防抖(debounce)和节流(throttle)
    浏览器的缓存机制
    JavaScript踩坑解构赋值
  • 原文地址:https://www.cnblogs.com/baokang/p/6602187.html
Copyright © 2011-2022 走看看