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

用织梦做网站还要不要服务器贵州易广建设集团网站

用织梦做网站还要不要服务器,贵州易广建设集团网站,网页制作工作前景,深圳seo推广外包在MyBatis-Plus#xff08;简称MP#xff09;中#xff0c;TableId 注解是用来标注实体类中主键的字段的#xff0c;而 type IdType.AUTO 是一个常见的配置选项#xff0c;它指定了主键的生成策略。在实际开发中#xff0c;如何配置主键生成策略对数据库的性能和稳定性有…在MyBatis-Plus简称MP中TableId 注解是用来标注实体类中主键的字段的而 type IdType.AUTO 是一个常见的配置选项它指定了主键的生成策略。在实际开发中如何配置主键生成策略对数据库的性能和稳定性有着重要影响。本文将深入探讨 TableId(type IdType.AUTO) 的使用方法以及它与其他主键生成策略如 IdType.INPUT、IdType.UUID 等的区别和适用场景。 一、什么是 TableId 注解 在 MyBatis-Plus 中TableId 注解用于指定实体类中的主键字段。通常情况下主键字段需要具有唯一性而且数据库会根据该字段的值来区分每一条记录。 TableId(value id, type IdType.AUTO) private Long id;在上面的代码中TableId 被用来标注 id 字段是表的主键。value 属性指定了数据库表中的字段名而 type 属性指定了主键的生成策略。 二、TableId(type IdType.AUTO) 的使用方法 IdType.AUTO 表示主键由数据库自动生成通常与自增长字段一起使用。这意味着主键的值在插入时由数据库自增而不是由程序代码显式指定。 常见的数据库支持 MySQLAUTO_INCREMENTPostgreSQLSERIALOracleSEQUENCE 代码示例 假设我们有一个实体类 User我们希望在插入数据时由数据库自动生成主键 Data TableName(user) public class User {TableId(type IdType.AUTO) // 自动生成主键private Long id;private String name;private Integer age; }对于上述实体类当我们执行 userMapper.insert(user) 时id 字段会被数据库自动填充通常是自增长。 三、与其他主键生成策略的区别 MyBatis-Plus 提供了多种主键生成策略具体配置如下 1. IdType.AUTO数据库自增 TableId(type IdType.AUTO) 配置表示主键由数据库自动生成。适用于支持自动增量字段的数据库如 MySQL 的 AUTO_INCREMENT、PostgreSQL 的 SERIAL 等。 优点 简单易用数据库自动处理主键。避免了手动生成主键的麻烦。 缺点 主键生成依赖数据库某些数据库可能存在性能瓶颈如高并发时自增主键可能引发争用问题。对于分布式系统来说可能需要额外的处理如数据库分库分表时可能会导致主键冲突或性能问题。 2. IdType.INPUT手动输入 TableId(type IdType.INPUT) 配置表示主键由开发者手动输入程序员需要在插入数据时显式指定主键值。 TableId(type IdType.INPUT) private Long id;优点 适合主键需要特定值的情况如UUID或业务逻辑生成的主键。适用于需要从外部系统传入主键的场景。 缺点 需要手动生成主键增加了开发的复杂性和错误的风险。可能需要额外的处理来确保主键的唯一性尤其是在分布式系统中。 3. IdType.UUIDUUID TableId(type IdType.UUID) 配置表示主键由 UUID通用唯一识别码生成。这是一个跨平台、全局唯一的标识符。 TableId(type IdType.UUID) private String id;优点 主键具有全局唯一性适合分布式系统。不依赖数据库的自增长特性避免了数据库主键生成的限制。 缺点 UUID 是一串字符串长度较长可能导致数据库存储的空间浪费。在性能上可能不如自增主键尤其是在大量数据插入时UUID 生成和查询速度相对较慢。 4. IdType.ID_WORKER雪花算法 TableId(type IdType.ID_WORKER) 配置表示主键使用雪花算法生成。雪花算法是一种分布式ID生成算法确保在分布式环境下每个服务生成的主键唯一且递增。 TableId(type IdType.ID_WORKER) private Long id;优点 生成的ID具有唯一性和有序性适合分布式环境。雪花算法生成的ID为数字类型性能较好。 缺点 雪花算法需要额外的配置和分布式协调。如果服务之间的时钟不一致可能会产生主键重复的问题。 5. IdType.ASSIGN_UUID分布式 UUID TableId(type IdType.ASSIGN_UUID) 配置表示主键为分布式的 UUID通常与分布式系统搭配使用确保不同节点生成的主键不会冲突。 TableId(type IdType.ASSIGN_UUID) private String id;优点 保证跨系统、跨机器的唯一性。在分布式系统中尤其有用。 缺点 UUID 长度较长可能会影响查询性能。不适合大量数据插入时的高效生成主键。 四、如何选择合适的主键生成策略 选择合适的主键生成策略通常取决于以下几个因素 单体应用或分布式系统 如果是单体应用IdType.AUTO数据库自增通常是最简单、最有效的选择。如果是分布式系统IdType.UUID 或 IdType.ID_WORKER 更适合因为它们能确保不同节点生成的主键唯一。 性能需求 IdType.AUTO 在性能上可能会受到数据库锁机制的影响在高并发场景下可能不如雪花算法IdType.ID_WORKER或 UUIDIdType.UUID性能好。 主键的唯一性 如果需要确保全局唯一尤其是在分布式系统中UUID 和雪花算法是更好的选择。 业务需求 如果主键需要根据业务规则自定义使用 IdType.INPUT 是最合适的。 五、总结 TableId(type IdType.AUTO) 适用于需要数据库自增的场景简化了开发但在分布式系统中可能带来一些挑战。MyBatis-Plus 提供了多种主键生成策略如 UUID、ID_WORKER、INPUT开发者可以根据具体的应用场景来选择合适的策略。在选择主键生成策略时需考虑系统的分布式架构、性能需求以及主键唯一性等多方面因素。
http://www.pierceye.com/news/708769/

相关文章:

  • 网站免费虚拟主机申请成华区微信网站建设公
  • 机械制造设备类企业网站织梦模板网站模板 博客
  • js跳转网站怎么做网络营销方式单一的原因
  • 做网站的职责做章的网站
  • 万网建设网站wordpress的ftp設置
  • 网站建设a云世家宋南南电子商务网站的开发方式
  • 水利工程建设监理网站美食网站建设总结
  • 中化建工北京建设投资有限公司网站南沙网站建设方案
  • 东莞网站制作网站死链是什么
  • 网站开发哪种语言更安全seopc流量排名官网
  • 中国站长之家域名查询深圳html5网站推广价格
  • 商业网站建设案例视频上海猎头公司哪家好
  • 如何开个人网站seo诊断站长
  • wordpress rss 订阅乐陵seo推广
  • 公司做一个网站企业建设3D网站
  • 自己做的网站别人打不开网络系统建设与运维职业技能等级证书
  • 签名能留链接的网站数据库网站建设公司
  • 网站权重不够高 导致创建网站销售产品
  • 中国建设报网站做网站如何文字链接文字
  • 网站建设网站多少钱网站上做值机的app
  • 百度手机网站提交做网站优化的教程
  • wordpress建站教程贴吧网站建设的论文的参考文献
  • 公司网站设计建议php7 wordpress
  • 商城网站建设策划书扬中会建网站
  • 铜陵市网站建设如何建立小程序商城
  • 大型网站运营步骤做网站f12的用处
  • 静态网站什么意思微信开发者工具打不开
  • 建站到网站收录到优化通化北京网站建设
  • 网站开发作用wordpress mysuc cms
  • 网站开发人员的职责是什么石家庄外贸建站公司