`

mybatis selectkey uuid

 
阅读更多

                           

通过修改sql映射文件,可以将mysql自增主键返回:

<insert id="insertUser" parameterType="cn.itcast.mybatis.po.User">

       <!-- selectKey将主键返回,需要再返回 -->

       <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">

           select LAST_INSERT_ID()

       </selectKey>

       insert into user(username,birthday,sex,address)

        values(#{username},#{birthday},#{sex},#{address});

    </insert>

添加selectKey实现将主键返回

keyProperty:返回的主键存储在pojo中的哪个属性

order:selectKey的执行顺序,是相对与insert语句来说,由于mysql的自增原理执行完insert语句之后才将主键生成,所以这里selectKey的执行顺序为after

resultType:返回的主键是什么类型

LAST_INSERT_ID():是mysql的函数,返回auto_increment自增列新记录id值。







需要增加通过select uuid()得到uuid值



<insert  id="insertUser" parameterType="cn.itcast.mybatis.po.User">

<selectKey resultType="java.lang.String" order="BEFORE"

keyProperty="id">

select uuid()

</selectKey>

insert into user(id,username,birthday,sex,address)

       values(#{id},#{username},#{birthday},#{sex},#{address})

</insert>

注意这里使用的order是“BEFORE”

  oracle  主键生成:

               

首先自定义一个序列且用于生成主键,selectKey使用如下:

<insert  id="insertUser" parameterType="cn.itcast.mybatis.po.User">

<selectKey resultType="java.lang.Integer" order="BEFORE"

keyProperty="id">

SELECT 自定义序列.NEXTVAL FROM DUAL

</selectKey>

insert into user(id,username,birthday,sex,address)

       values(#{id},#{username},#{birthday},#{sex},#{address})

</insert>

注意这里使用的order是“BEFORE”
分享到:
评论

相关推荐

    spring boot整合mybatis利用Mysql实现主键UUID的方法

    在Spring Boot项目中,整合MyBatis并利用MySQL实现主键UUID是一种常见的需求,尤其是在分布式系统中,为了保证数据的一致性和唯一性。UUID(Universally Unique Identifier)是一种全局唯一的标识符,它由128位数字...

    MyBatis_Select

    本示例将深入探讨`Select`元素在MyBatis映射器中的应用。 在MyBatis中,`&lt;select&gt;`元素主要用于执行查询操作,如获取单个记录、多条记录或执行无返回值的SQL。下面,我们将详细解析`&lt;select&gt;`元素的各个属性及其...

    Mybatis示例之SelectKey的应用

    Mybatis示例之SelectKey的应用 Mybatis是一种流行的持久层框架,提供了简洁的数据持久化解决方案。今天我们将讨论Mybatis的一个重要特性:SelectKey。SelectKey是Mybatis提供的一种机制,用于解决Insert数据时不...

    SAP Hana 创建序列 +mybatis查询

    SAP HANA 创建 sequence,及查询Dummy,和Mybaits 查询

    spring boot 整合mybatis,基于@Select注解方式

    本教程将详细介绍如何在Spring Boot项目中整合MyBatis,并使用@Select注解来实现数据库查询。 首先,我们需要在Spring Boot项目中引入MyBatis的依赖。在`pom.xml`文件中添加如下依赖: ```xml &lt;groupId&gt;org....

    Mybatis 处理 CLOB、BLOB 类型数据

    &lt;selectKey keyProperty="id" resultType="int" order="BEFORE"&gt; select my_seq.nextval from dual &lt;/selectKey&gt; insert into user_pics(id, name, pic, bio) values(#{id}, #{name}, #{pic}, #{bio}) ...

    Mybatis高级多表查询学习 -懒加载 SQL

    在IT行业中,Mybatis作为一款流行的Java持久层框架,被广泛应用在数据访问操作中。它以其灵活、高效和易于理解的特性,深受开发者喜爱。本文将深入探讨在Mybatis中进行高级多表查询,特别是涉及懒加载和SQL优化的...

    MyBatis.pdf

    MyBatis 提供了多种主键回填方式,包括使用动态代理方式实现主键回填、使用 selectKey 标签实现主键回填和使用 UUID 或时间戳生成唯一主键。 MyBatis 的SQL 语句构建 MyBatis 提供了多种 SQL 语句构建方式,包括 ...

    详解Mybatis中的select方法

    主要介绍了Mybatis的select方法,通过代码给大家详细介绍了selectByExample方法,selectById方法,需要的朋友可以参考下

    MyBatis SELECT基本查询实现方法详解

    在MyBatis中,SQL查询主要通过`SELECT`语句实现,本文将详细解析MyBatis的基本查询实现方法。MyBatis允许开发者直接在XML配置文件中编写SQL语句,从而实现灵活的数据查询。 1. **返回单个或列表对象** 当我们需要...

    mybatis demo mybatis 实例

    MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs...

    Mybatis中注解@MapKey的使用详解

    在Mybatis框架中,@MapKey注解是一个非常实用的功能,它允许我们将查询结果转换成一个Map对象,其中键(key)由我们指定的字段值决定,值(value)则是查询返回的完整行数据。这在处理多条记录时特别有用,尤其是在结果...

    tkmybatis.rar

    import tk.mybatis.mapper.annotation.KeySql; import tk.mybatis.mapper.annotation.TableField; import tk.mybatis.mapper.annotation.TableName; @TableName("user") public class User { @TableId(value = "id...

    mybatis的中文api文档

    MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以对配置和原生Map使用简单的XML或注解,将接口和Java的POJOs...

    mybatis自增主键文档

    如果需要在插入数据后获取自增的主键值,MyBatis提供了`&lt;selectKey&gt;`元素来实现这一功能。这通常在处理一对多关系,需要新主键值来关联多端数据时非常有用。 对于Oracle,配置如下: ```xml ...

    mybatis3.5.7.zip

    MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 ...

    MyBatis入门到精通

    MyBatis允许你在Java接口方法上直接写SQL,使用`@Select`、`@Insert`、`@Update`和`@Delete`等注解,简化了开发过程。 5. **MyBatis注解方式** 使用注解的方式,可以将映射文件中的内容直接写在Mapper接口的方法...

    SpringBoot+Mybatis,返回Map的时候,将Map内的Key转换为驼峰的命名

    @Select("SELECT * FROM user") Map, Object&gt; getAllUsers(); } ``` 然后在Service层中调用`MapUtils.toCamelCaseMap`进行转换: ```java @Service public class UserService { @Autowired private UserMapper...

    mybatis入门案例 mybatis入门案例

    mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例...

Global site tag (gtag.js) - Google Analytics