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

Posted 庞国明 博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

  得到插入结果

 

以上是关于mybatis 针对SQL Server 的 主键id生成策略的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server中的六种约束:主键约束,外键约束,唯一约束,非空约束,检查约束,默认约束

mybatis 自增主键配置

Mybatis里Mapper映射sql文件里insert的主键返回selectKey使用

Mybatis返回插入的主键

(转)Mybatis高级映射动态SQL及获得自增主键

sql server 主键一般用啥字段