zoukankan      html  css  js  c++  java
  • 【Mybatis】uuid的使用

    UUID不是128位长的吗,怎么生成的都是36个字符的字符串?

    UUID.fromString("84D1319C-FBAF-644C-901A-8F091F25AF04"));
     UUID中有固定的四个 ”-“,所以32位长。  
    128位是 二进制, 每四个二进制转一个16进制数。 128/4=32
    所以,就是32个16进制数的字符了。
     

    mybatis生成UUID主键,且获取当前新增的UUID主键

     在平时业务需求中,有可能会需要当前新增对象的主键ID。

     在此我对用UUID作为主键ID做了实验。

    1 <selectKey  keyProperty="user.userId" resultType="java.lang.String" order="BEFORE">
    2              select uuid()
    3 </selectKey>
    keyProperty:selectKey子元素返回值将赋值到领域模型的哪个属性中。
    resultType:返回结果类型

    order:BEFORE 标识在执行插入语句之前执行

    在设置keyProperty="user.userId"时这段代码会在执行insert语句之前产生一条uuid并赋值到当前user对象中的userId中。

    所以在新增成功后直接getUserId就可以获取当前主键了


    Sql代码  收藏代码
    1. -- Create table  
    2. create table TECHNOLOGYCOMPANY  
    3. (  
    4.   ID              VARCHAR2(32) default SYS_GUID() not null,  
    5.   FLOWID          VARCHAR2(50),  
    6.   CONPANYID       NUMBER,  
    7.   ISCOMMUNICATION VARCHAR2(10)  
    8. )  

    在oracle数据库中如何生成UUID字段,生成随机数

    在sql语句中使用系统函数sys_guid()即可,比如:向temperature表中插入一条数据,主键是用uuid生成的。

    insert into temperature (pkid,temperature,date,time) values(sys_guid(),'33','2013-05-20','10:33:04')

    一般使用触发器时会设计到,向该表中插入数据。

    在oracle数据库中,随机生成40-50的整数语句如下:

    select dbms_random.value(40,90)  from dual

  • 相关阅读:
    快手2019秋招--魔法深渊
    mutiset的简单介绍转载
    端午遥想
    UVA 11291
    Amicable numbers -- Javascript 实现
    iOS Dev (54) 键盘弹出后收起时View随之移动
    webapp设置适应pc和手机的页面宽高以及布局层叠图片文字
    shu_1180 回文数(一)
    开发微信公众平台--新建新浪云sae部署server
    C++
  • 原文地址:https://www.cnblogs.com/CESC4/p/7363668.html
Copyright © 2011-2022 走看看