`

spring主键自增

阅读更多

mysql主键支持自增,但如果数据量太大的话,貌似不怎么好使了,这时可以使用spring设置主键自增

如下:

spring配置文件中添加

<bean id="ipoIncrementer" class="org.springframework.jdbc.support.incrementer.MySQLMaxValueIncrementer">

      <property name="dataSource">

          <ref local="dataSource"/>

      </property>

      <property name="incrementerName">

            <!--表名 -->

            <value>sequence</value>

      </property>

      <property name="columnName">

            <!--字段名字 -->

            <value>a_sequence</value>

      </property>

      <!--一次从数据库中取多少个值 -->

      <property name="cacheSize" value="100"/> 

</bean>

在spring的bean中添加:

<bean id="AddAction" class="com.AddAction" singleton="false">

      <property name="ipoIncrementer">

             <ref bean="ipoIncrementer"/>

      </property>

</bean>

接下来:

       private DataFieldMaxValueIncrementer ipoIncrementer;

       String ipoId = ipoIncrementer.nextStringValue();

这样就可以取得id值了

注意别忘了写 ipoIncrementer的set方法哦

 

分享到:
评论
1 楼 jiaohuizhe 2013-03-25  
这样还不如直接通过Hibernate的hilo的方式来创建主键,如果数据量非常大的话建议还是改用UUID的方式来创建主键。

相关推荐

    解决spring自增型主键问题

    本文将深入探讨如何在SQL Server 2008环境下解决自增型主键的问题,以及如何在Spring框架下进行有效的主键生成策略配置。 ### SQL Server 2008自增型主键问题 SQL Server 2008中的自增型主键,通常通过设置列属性...

    Mybatis-plus实现主键自增和自动注入时间的示例代码

    Mybatis-plus 实现主键自增和自动注入时间的示例代码 Mybatis-plus 是一个基于 Mybatis 的增强型 ORM 框架,它提供了许多实用的功能来简化数据库操作。在本文中,我们将通过示例代码,介绍如何使用 Mybatis-plus ...

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

    在生成表主键ID时,我们可以考虑主键自增 或者 UUID,但它们都有很明显的缺点 主键自增:1、自增ID容易被爬虫遍历数据。2、分表分库会有ID冲突。 UUID: 1、太长,并且有索引碎片,索引多占用空间的问题 2、无序。 ...

    Struts2 Spring3 Hibernate3.3框架整合

    Struts2 Spring3 Hibernate3.3框架整合,增删改查,包含有数据库建表语句,包含有JAR包,包含有源代码。...使用的是Oracle的序列来提供的主键自增,建表和建立序列的sql语句,已经放在工程里面的WEBROOT目录下面了。

    spring mvc spring4.x hibernate4.注解方式注入

    例如,@Entity注解表示一个类映射到数据库表,@Table定义表名,@Id标识主键字段,@GeneratedValue处理主键自增。此外,@ManyToOne、@OneToMany等注解用于定义实体间的关系。 将这三个框架结合,我们可以创建一个...

    java快速ID自增器

    它旨在提供一个高性能、线程安全的方式来生成自增ID,尤其适用于那些需要频繁生成ID的场景,如数据库记录的主键生成。 首先,我们需要理解自增ID的概念。自增ID通常用于数据库中的主键字段,确保每条记录都有一个...

    MyBatis+Spring整合示例

    同时,为了实现主键自增,我们使用了Oracle数据库的序列(sequence)和触发器(trigger)机制。序列`pda2_user_sequence`用于生成主键值,触发器`id_auto_increment_triger`则在插入新记录时自动填充ID字段。 接着...

    SpringJDBC训练素材.zip

    对于插入操作,Spring JDBC提供了SimpleJdbcInsert类,它可以自动生成INSERT语句并处理主键自增的问题。对于存储过程的调用,SimpleJdbcCall则扮演了关键角色,它可以方便地包装和执行数据库的存储过程。 在实际...

    SpringBlade 开发手册基础版(公开版)

    3. **MyBatis Plus**:MyBatis Plus是MyBatis的扩展,它简化了 CRUD 操作,提供了丰富的API,包括无侵入式、强大的条件构造器、支持主键自增、支持删除逻辑、支持插入填充、支持结果处理映射等。 4. **权限管理**:...

    完整版spring hibernate整合采用annotation

    Hibernate使用JPA(Java Persistence API)中的注解,如`@Entity`标记实体类,`@Table`指定数据库表名,`@Id`定义主键,`@GeneratedValue`处理主键自增等。这些注解让数据库映射变得直观,降低了学习曲线。 整合...

    DataFieldMaxValueIncrementer 管理主键

    `DataFieldMaxValueIncrementer` 是一个用于管理主键自增策略的工具,它允许我们在多个节点之间协调主键的生成,以避免冲突。本文将深入探讨这个工具的功能、工作原理以及在实际应用中的使用场景。 首先,`...

    spring_jpa_demo.zip

    `@Id`注解标记了主键字段,`@GeneratedValue`表示主键自增。其他字段如`username`和`password`则直接映射到数据库的列。 配置方面,我们需要在Spring的配置文件中启用JPA并配置数据源。在`application.properties`...

    mybatisplus-spring-mvc-dev.zip

    MyBatisPlus是MyBatis的增强工具,它简化了SQL操作,提供了包括单表 CRUD 操作、主键自增、删除、更新、查询等丰富的API。MyBatisPlus的优势在于无需编写大量SQL代码,即可实现对数据库的操作,使得开发更为高效。 ...

    hibernate主键生成策略

    - 对于 MySQL 和 SQL Server 数据库,则采用 `Identity` 方式生成自增主键。 - **特点**: - 实现简单,无需过多配置。 - 高度兼容不同数据库。 - 是最常用的主键生成策略之一。 ##### 2. **Assigned** - **...

    管理系统系列--SpringBoot2.X整合MyBatis-Plus实现图书管理系统的增删改查.zip

    4. 主键自增:对于主键自增的字段,可自动处理插入后的ID值。 接下来,我们将按照以下步骤来实现这个图书管理系统: 1. **环境准备**:首先确保你已经安装了Java、Maven和IDEA等开发工具,并创建一个新的...

    spring使用心得 java ssh

    "spring中,如果想用自定义主键,则不要设置sequnce.txt"提示我们,在Spring配置Hibernate时,如果希望使用自定义的主键生成策略(例如,使用UUID或者自增字段),则不应设定sequence,因为sequence是Oracle数据库...

    SpringBoot(2.0.5)+MybatisPlus(3.0.7)项目骨架,支持SpringSecurity+.zip

    3. 主键自增:自动处理主键生成策略。 4. 分页插件:集成通用分页插件,简化分页操作。 5. 数据权限控制:支持多租户、数据权限控制等高级功能。 6. 支持Lambda表达式:使代码更加简洁,减少冗余。 **Spring ...

    SSH高质量整合.Spring注解标签,项目启动自动建表.

    比如,`@Entity`用于标识一个实体类,`@Table`指定对应的数据库表,`@Id`定义主键,`@GeneratedValue`处理主键自增等。通过注解,开发者可以直接在Java类上描述数据库表结构,减少了XML配置,提高了开发效率。 在...

    spring data jpa简单案例

    这里的 `@Entity` 注解标识这是一个 JPA 实体,`@Id` 和 `@GeneratedValue` 分别用于定义主键和自增策略。 ### 4. 定义 Repository Spring Data JPA 提供了自动化的 CRUD 操作接口。创建一个继承自 `JpaRepository...

    SSM框架(IDEA+Spring+SpringMVC+Maven+Mybatis+MySQL)

    4. **Mybatis-Plus**:Mybatis-Plus是对Mybatis的轻量级扩展,它提供了丰富的 CRUD 操作以及一些实用功能,如:单表操作、条件构造器、批量插入、主键自增等。Mybatis-Plus使得开发者在不丢失Mybatis原有特性的同时...

Global site tag (gtag.js) - Google Analytics