`

自动生成主键

 
阅读更多

 insert元素的useGeneratedKeys属性告诉MyBatis使用JDBC的getGeneratedKeys方法来获取数据库自动生成主键。

例如:

 

<!-- 数据库支持自动生成主键时设置自动生成主键 -->
<insert id="insertAuthor" parameterType="domain.blog.Author" useGeneratedKeys="true" keyProperty="id">
	insert into Author (username,password,email,bio) values (#{username},#{password},#{email},#{bio})
</insert>

数据库不支持自动生成主键时,在insert元素中使用selectKey元素,例如:

 

<!-- 自动生成主键,生成规则是:当前表中最大的id值加1。 -->
    <insert id="insertBloguseAutoKey" statementType="PREPARED" parameterType="Blog">
    	<selectKey keyProperty="id" resultType="int" order="BEFORE">
    		select max(id)+1 from Blog
    	</selectKey>
    	insert into Blog(id,title,author_id) values(#{id},#{title},#{authorId})
    </insert>

 

分享到:
评论

相关推荐

    自动生成主键uuid.zip

    "自动生成主键uuid.zip"这个压缩包文件很可能是包含了一个Java程序示例,用于演示如何生成这样的32位ID。 在Java中,生成UUID主要通过`java.util.UUID`类提供的静态方法。`UUID.randomUUID()`是生成一个随机的UUID...

    hibernate中自动生成主键的办法

    Hibernate作为一款流行的Java持久层框架,提供了多种自动生成主键的方法,以适应不同场景的需求。本文将深入探讨Hibernate中自动生成主键的几种常见策略及其应用场景。 ### 1. UUID.hex UUID(Universally Unique ...

    mybatis根据数据库表反向工程自动生成代码model,mapper,dao.zip_mybatis自动生成主键

    这个压缩包文件"mybatis根据数据库表反向工程自动生成代码model,mapper,dao.zip_mybatis自动生成主键"就是关于这一功能的实例。 1. MyBatis 反向工程简介: MyBatis的反向工程工具可以快速地根据数据库表生成...

    oracle数据库主键自动生成

    Oracle 数据库主键自动生成 在 Oracle 数据库中,主键自动生成是指在插入数据时自动生成唯一的主键值,从而简化数据录入和维护工作。下面将详细介绍 Oracle 数据库主键自动生成的实现方法和相关知识点。 序列...

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

    主键值由数据库自动生成并返回给应用程序。 3. **`GenerationType.SEQUENCE`**:适用于支持序列的数据库,如Oracle。需要预先定义一个序列对象,然后由JPA在插入新记录时使用。 4. **`GenerationType.TABLE`**:...

    java自动生成id策略

    在Java编程中,自动生成ID是一项常见的需求,特别是在数据库记录、分布式系统节点标识等领域。"java自动生成id策略"指的是设计并实现一种机制,确保在多线程环境下能够高效、唯一地生成ID。这里我们将详细探讨这个...

    Java随机数生成主键(16位)

    oracle自动生成主键的工具类,就一个简单的方法。

    08_ibatis教程_sql主键生成方式.rar

    在Ibatis中,只需在Mapper XML文件中的`&lt;insert&gt;`标签中设置`useGeneratedKeys="true"`和`keyProperty="id"`,就可以让数据库自动生成主键。 4. **雪花算法(Snowflake Algorithm)**: 在分布式环境下,为了保证...

    Hibernate3自动生成entity

    例如,可以通过@Entity注解标记实体类,@Id注解标识主键,@GeneratedValue注解自动生成主键,@ManyToOne或@OneToMany注解处理一对多或多对一的关系。 通过以上步骤,我们成功地在MyEclipse中利用Hibernate3自动生成...

    Hibernate自动生成配置文件

    在向导中,配置Hibernate的实体类名称、包名等信息,然后指定主键生成策略,比如可以选用“identity”表示由数据库自动生成主键。点击“Next”和“Finish”,MyEclipse会自动生成对应的Hibernate配置文件(`...

    自动创建数据库工具

    这些工具可能还支持自动生成主键、外键、索引和其他约束,确保数据的一致性和完整性。同时,它们还可以帮助优化表的结构,例如选择适当的列数据类型,以提高查询性能。 "删除数据库"是数据库生命周期中不可避免的一...

    java代码自动生成工具

    Java代码自动生成工具是一种高效开发辅助软件,它能够根据预设的模板或规则,自动创建出符合特定规范的Java源代码。这样的工具极大地提升了开发效率,减少了程序员在编写重复性结构化代码上的时间,使他们可以更加...

    sql主键产生器

    在一些情况下,我们可能需要自动生成主键,以确保其唯一性和顺序性。"SQL主键产生器"就是这样一个工具,它能帮助我们在创建或更新表时自动为主键字段生成唯一值。 SQL主键产生器通常有以下几种实现方式: 1. **...

    【MySQL】经验:索引使用场景

    MyISAM中不会自动生成主键。建议给每张表指定主键。 2、频繁作为查询条件的字段 索引是以空间换时间的,某字段如果频繁作为查询条件,建议建立索引 3、查询中作为与其他表关联的字段(外键) 4、查询中常作为查询...

    MyBatis主键自动生成方法.pdf

    2. 不支持自动增加的数据库,如Oracle,通常使用序列(Sequence)生成主键。在这种情况下,可以使用`&lt;selectKey&gt;`元素。例如: ```xml SELECT stu_seq.nextval FROM dual ``` 这里`order="BEFORE"`表示在...

    基于Ruoyi的React+JPA权限管理系统设计源码

    系统优化了权限逻辑,后端采用JPA进行数据持久化,并集成了雪花算法以自动生成主键。前端基于React 18构建,使用了TypeScript、Ant Design、React Router DOM、Axios等技术,数据状态管理采用MobX,并通过CRACO进行...

    主键自增功能开发文档1

    在Cedar中,主键自增功能是为了解决在插入数据时自动生成主键值的需求,尤其是在用户未指定主键值的情况下。 1. **主键自增功能概述** - 当用户在创建表格时,可以使用`AUTO_INCREMENT`关键字标记一个主键列。这...

    根据表结构生成JavaBean,史上最强最专业的表结构转JavaBean的工具(第6版)

    5、新增实体主键生成策略,可以配置手动生成主键也可以配置自动生成主键。 6、可以根据选择的标准模板不同自动生成相应扩展名的文件,也可以手动设置文件扩展名。 7、新增设置文件注释,并可以使用部分系统参数。...

    Js文件里创建自动增长主键

    比较有用的UUID,工具类,Js文件创建主键

Global site tag (gtag.js) - Google Analytics