`

生成自定义主键

阅读更多
ruby 代码
  1. class Enterprise < ActiveRecord::Base   
  2. # 当创建前调用auto_id 方法:   
  3.   before_create :auto_id  # auto_id通过调用empno_next方法设置name   
  4.   def auto_id   
  5.     self.name = empno_next   
  6.   end  
  7. # 通过重数据库中读出最大的ID      
  8. #  但是如果是复合ID?下次解决。。(思路。。增加字段)   
  9. def empno_next   
  10.      num = ActiveRecord::Base.connection.select_value('select max(name)+1 from enterprises')   
  11.      if num.nil?  #  判断空情况。。初始化。。   
  12.       num = 10000   
  13.       return num   
  14.     end  
  15.        return num   
  16.   end  
  17.     
  18. end  
PS: 从开始的用一个常量MODLE来生成主ID。到从数据库方法。。要变通。。。多问,多查。。有空回过头来做从MODEL生成。。。
分享到:
评论

相关推荐

    excel2003 生成oracle 建表语句 自定义主键

    利用excle结构定义oracle数据库表结构,可以自定义主键,生成sql

    Hibernate各种主键生成策略与配置详解

    关于Hibernate的各种主键生成策略与配置详解

    mybatis自定义生成代码策略示例

    在 MyBatis 中,我们可以自定义代码生成策略来满足特定的需求。 自定义 MyBatis 代码生成器涉及到以下几个核心概念: 1. **配置文件**:在 MyBatis Generator(MBG)中,我们首先需要创建一个 XML 配置文件,用于...

    总结hibernate常用主键生成策略。

    1主键常用的生成策略 2对数据库的依赖性总结 3关于主键生成策略的选择 详细解释

    hibernate中自动生成主键的办法

    在IT领域的数据库设计与开发中,主键的生成机制是一个至关重要的环节,它不仅关系到数据的唯一性,还直接影响到数据库的性能和安全性。Hibernate作为一款流行的Java持久层框架,提供了多种自动生成主键的方法,以...

    mybatis-plus主键生成策略

    MyBatis-Plus主键生成策略是其框架中一个重要的特性,它提供了多种方式来生成主键ID,以便适应不同的数据库环境和业务需求。MyBatis-Plus的默认策略是Twitter的“Snowflake”算法,它能生成全局唯一的长整型ID。然而...

    主键是Long型的id生成方法,Java实现

    主键是Long型的id生成方法,Java实现.snowflake算法.

    JPA环境搭建及JPA实例与JPA主键生成策略

    这里的`@Id`注解标记`id`字段为实体的主键,而`@GeneratedValue`注解表示主键生成策略。`GenerationType.IDENTITY`意味着主键值由数据库自动生成,比如在MySQL中,这通常对应于`AUTO_INCREMENT`。 **JPA主键生成...

    spring-boot-mybatis-interceptor:mybatis自定义主键插件,通过该插件生成分布式唯一雪花ID作为数据库表的主键

    Mybatis自定义插件生成雪花ID做为主键项目 有关Mybatis雪花ID主键插件前面写了两篇博客作为该项目落地的铺垫。 1、 2、 该插件项目可以直接运用于实际开发中,作为分布式数据库表主键ID使用。 一、项目概述 1、项目...

    Oracle 使用触发器创建自动序列号

    --建表 drop table TEST create table TEST ...--测试 insert条语句将会自动生成自定义主键,即插入其他字段,主键在插入记录前自动生成 insert into test(test1) values('bbb'); select * from test;

    持久化类主键生成策略+例子

    在Java的持久化框架中,如JPA(Java Persistence API)和Hibernate,主键生成策略是数据模型设计的重要部分。主键通常是表中唯一标识记录的一列或一组列,用于确保数据的完整性和唯一性。本篇文章将深入探讨JPA的4种...

    mysql雪花算法生成唯一整型ID主键的实现方法

    MySQL 雪花算法生成唯一整型ID主键的实现主要针对大数据环境下,需要大量生成全局唯一ID的需求。雪花算法是一种分布式ID生成策略,由Twitter开源,其设计目标是在分布式系统中生成具有全局唯一性、有序性和高并发性...

    读取数据库表结构生成自定义代码.zip

    "读取数据库表结构生成自定义代码"这个主题涉及到数据库管理、数据建模以及自动化编程等多个方面。下面将详细探讨这些知识点。 首先,数据库表结构是数据库设计的重要组成部分,它定义了数据库中的表、字段(或称为...

    java主键生成 id

    java主键生成,通过自定义前缀加时间生成机制,是主流项目的常用方法,有的是通过JAVA实现,有的是通过存储过程,其实都差不多

    hibernate主键生成策略

    - 实现灵活,可以通过自定义 SQL 控制主键的生成。 - 使用较少,随着技术的发展,其他策略更为常见。 #### 三、总结 通过上述介绍,我们可以看出 Hibernate 支持多种不同的主键生成策略,每种策略都有其独特的...

    自定义逆向工程 可生成Table注解 自定义继承通用mapper

    通过自定义逆向工程,我们可以让MBG在生成的实体类上自动添加Table注解,包括表名、主键信息等,这样可以减少手动编写这些元数据的工作量,提高代码一致性。 示例: ```java @Table(name = "user") public ...

    elasticsearch 主键生成策略以及如何指定特定字段为id主键列

    es种一共两种主键生成策略,一个是手动指定和一个是自动生成 1.document的id 1)根据应用情况来说,是否满足是否指定document id的手动指定,一般情况,是从某些其他的系统中,导入一些数据到es时,会采用这种方式,...

Global site tag (gtag.js) - Google Analytics