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.表新增字段必须确定添加在哪个字段之后。

  • 相关阅读:
    vue 对图片进行拖拽到另一个位置
    vue自定义拖动指令
    使用pm2启动nodejs+express+mysql管理系统步骤
    重新学习html和css
    vue监听页面大小变化重新刷新布局
    Docker可视化管理工具DockerUI ,Portainer ,Shipyard对比(转)
    js删除html标记 去掉所有html标记 百度文库内容copy
    安卓模拟器连接端口一览表
    springmvc在使用@ModelAttribute注解获取Request和Response会产生线程并发不安全问题(转)
    常用软件测试工具的对比
  • 原文地址:https://www.cnblogs.com/baokang/p/6602187.html
Copyright © 2011-2022 走看看