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方法哦
相关推荐
本文将深入探讨如何在SQL Server 2008环境下解决自增型主键的问题,以及如何在Spring框架下进行有效的主键生成策略配置。 ### SQL Server 2008自增型主键问题 SQL Server 2008中的自增型主键,通常通过设置列属性...
Mybatis-plus 实现主键自增和自动注入时间的示例代码 Mybatis-plus 是一个基于 Mybatis 的增强型 ORM 框架,它提供了许多实用的功能来简化数据库操作。在本文中,我们将通过示例代码,介绍如何使用 Mybatis-plus ...
在生成表主键ID时,我们可以考虑主键自增 或者 UUID,但它们都有很明显的缺点 主键自增:1、自增ID容易被爬虫遍历数据。2、分表分库会有ID冲突。 UUID: 1、太长,并且有索引碎片,索引多占用空间的问题 2、无序。 ...
Struts2 Spring3 Hibernate3.3框架整合,增删改查,包含有数据库建表语句,包含有JAR包,包含有源代码。...使用的是Oracle的序列来提供的主键自增,建表和建立序列的sql语句,已经放在工程里面的WEBROOT目录下面了。
例如,@Entity注解表示一个类映射到数据库表,@Table定义表名,@Id标识主键字段,@GeneratedValue处理主键自增。此外,@ManyToOne、@OneToMany等注解用于定义实体间的关系。 将这三个框架结合,我们可以创建一个...
它旨在提供一个高性能、线程安全的方式来生成自增ID,尤其适用于那些需要频繁生成ID的场景,如数据库记录的主键生成。 首先,我们需要理解自增ID的概念。自增ID通常用于数据库中的主键字段,确保每条记录都有一个...
同时,为了实现主键自增,我们使用了Oracle数据库的序列(sequence)和触发器(trigger)机制。序列`pda2_user_sequence`用于生成主键值,触发器`id_auto_increment_triger`则在插入新记录时自动填充ID字段。 接着...
对于插入操作,Spring JDBC提供了SimpleJdbcInsert类,它可以自动生成INSERT语句并处理主键自增的问题。对于存储过程的调用,SimpleJdbcCall则扮演了关键角色,它可以方便地包装和执行数据库的存储过程。 在实际...
3. **MyBatis Plus**:MyBatis Plus是MyBatis的扩展,它简化了 CRUD 操作,提供了丰富的API,包括无侵入式、强大的条件构造器、支持主键自增、支持删除逻辑、支持插入填充、支持结果处理映射等。 4. **权限管理**:...
Hibernate使用JPA(Java Persistence API)中的注解,如`@Entity`标记实体类,`@Table`指定数据库表名,`@Id`定义主键,`@GeneratedValue`处理主键自增等。这些注解让数据库映射变得直观,降低了学习曲线。 整合...
`DataFieldMaxValueIncrementer` 是一个用于管理主键自增策略的工具,它允许我们在多个节点之间协调主键的生成,以避免冲突。本文将深入探讨这个工具的功能、工作原理以及在实际应用中的使用场景。 首先,`...
`@Id`注解标记了主键字段,`@GeneratedValue`表示主键自增。其他字段如`username`和`password`则直接映射到数据库的列。 配置方面,我们需要在Spring的配置文件中启用JPA并配置数据源。在`application.properties`...
MyBatisPlus是MyBatis的增强工具,它简化了SQL操作,提供了包括单表 CRUD 操作、主键自增、删除、更新、查询等丰富的API。MyBatisPlus的优势在于无需编写大量SQL代码,即可实现对数据库的操作,使得开发更为高效。 ...
- 对于 MySQL 和 SQL Server 数据库,则采用 `Identity` 方式生成自增主键。 - **特点**: - 实现简单,无需过多配置。 - 高度兼容不同数据库。 - 是最常用的主键生成策略之一。 ##### 2. **Assigned** - **...
4. 主键自增:对于主键自增的字段,可自动处理插入后的ID值。 接下来,我们将按照以下步骤来实现这个图书管理系统: 1. **环境准备**:首先确保你已经安装了Java、Maven和IDEA等开发工具,并创建一个新的...
"spring中,如果想用自定义主键,则不要设置sequnce.txt"提示我们,在Spring配置Hibernate时,如果希望使用自定义的主键生成策略(例如,使用UUID或者自增字段),则不应设定sequence,因为sequence是Oracle数据库...
3. 主键自增:自动处理主键生成策略。 4. 分页插件:集成通用分页插件,简化分页操作。 5. 数据权限控制:支持多租户、数据权限控制等高级功能。 6. 支持Lambda表达式:使代码更加简洁,减少冗余。 **Spring ...
比如,`@Entity`用于标识一个实体类,`@Table`指定对应的数据库表,`@Id`定义主键,`@GeneratedValue`处理主键自增等。通过注解,开发者可以直接在Java类上描述数据库表结构,减少了XML配置,提高了开发效率。 在...
这里的 `@Entity` 注解标识这是一个 JPA 实体,`@Id` 和 `@GeneratedValue` 分别用于定义主键和自增策略。 ### 4. 定义 Repository Spring Data JPA 提供了自动化的 CRUD 操作接口。创建一个继承自 `JpaRepository...
4. **Mybatis-Plus**:Mybatis-Plus是对Mybatis的轻量级扩展,它提供了丰富的 CRUD 操作以及一些实用功能,如:单表操作、条件构造器、批量插入、主键自增等。Mybatis-Plus使得开发者在不丢失Mybatis原有特性的同时...