mybatis 针对SQL Server 的 主键id生成策略

SQL Server中命令: select newId()  ,可以得到SQL server数据库原生的UUID值,因此我们可以将这条指令写到 Mybatis的主键生成策略配置selectKey中。

如下:

在 mapper.xml 类型映射配置文件中

<insert id="insert" parameterType="com.hqdl.xiaoyi.bean.SpUser">
  	<selectKey keyProperty="id" resultType="String" order="BEFORE">    
        select newId()    
    </selectKey>  
    insert into sp_user_list (id, name, full_name, 
      password, category, user_type, 
      company_id, depart_id, code, 
      locked, wrong_pwd_count, last_login_time, 
      lock_reason, create_user_id, create_person_name, 
      create_time, deleted)
    values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{fullName,jdbcType=VARCHAR}, 
      #{password,jdbcType=VARCHAR}, #{category,jdbcType=VARCHAR}, #{userType,jdbcType=VARCHAR}, 
      #{companyId,jdbcType=VARCHAR}, #{departId,jdbcType=VARCHAR}, #{code,jdbcType=VARCHAR}, 
      #{locked,jdbcType=CHAR}, #{wrongPwdCount,jdbcType=INTEGER}, #{lastLoginTime,jdbcType=VARCHAR}, 
      #{lockReason,jdbcType=VARCHAR}, #{createUserId,jdbcType=VARCHAR}, #{createPersonName,jdbcType=VARCHAR}, 
      #{createTime,jdbcType=VARCHAR}, #{deleted,jdbcType=CHAR})
  </insert>

  得到插入结果

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

通过shell脚本得到数据字典的信息 (r2笔记72天)

在平时的工作中,可能需要查询一些数据字典的信息,比如数据字典对应的基表信息,可以得到更多数据库内部的一些详细信息。 比如user_objects这个数据字典视图...

2827
来自专栏乐沙弥的世界

oracle imp导入时出现skipping table

    最近有同事在使用传统的imp工具导入数据时,总是提示收到skipping table的提示,也就是表被跳过,而不是被重建。即使是将目标数据库上的表对象删...

1011
来自专栏乐沙弥的世界

NULL 值与索引(二)

    在NULL值与索引(一)中讲述了null值与索引的一些基本情况。其主要的内容为,基于允许存在null值的索引列,其索引值不会被存储;其次 是由于这个特...

692
来自专栏别先生

Greenplum和Postgresql的主键自增

参考:https://blog.csdn.net/u011042248/article/details/49422305

1022
来自专栏乐沙弥的世界

高效SQL语句必杀技

        No SQL,No cost. SQL语句是造成数据库开销最大的部分。而不良SQL写法直接导致数据库系统性能下降的情形比比皆是。那么如何才能称得...

722
来自专栏杨建荣的学习笔记

关于long类型的转换(r3笔记第84天)

在oracle中对于long类型的处理时很纠结的。最开始引入这个数据类型的时候是对原有数据类型的补充,但是后面发现还是碰到了一些问题,使用Lob类型代替了。但是...

30310
来自专栏技术小站

mybatis useGeneratedKey与keyProperty

3102
来自专栏乐沙弥的世界

ORA-06502 assigning values from SQL to PL/SQL variables

    最近SQL查询返回的结果给PL/SQL变量出现ORA-06502错误。这个错误的描述是ORA-06502: PL/SQL: numeric or val...

601
来自专栏乐沙弥的世界

避免游标多次遍历

游标在数据库领域被广泛使用,尤其是对于需要将SQL语句返回的数据集进行逐行处理的时候。这为数据处理提供了极大的便利性,然游标的不当 使用从某种程度...

732
来自专栏逸鹏说道

快速对表的某字段赋递增的数值

假如有这张一张表,当时创建时没有用来存放递增的数值的int型字段。在使用的过程中,有这样的需求。 USE AdventureWorks2008R2;GOIF O...

1986

扫码关注云+社区