id非自增数据库,id添加方法

一、第一种方法

字符串类型的

IdUtil.getSnowflake().nextId()

1. 引入依赖

<dependency>
	<groupId>cn.hutool</groupId>
	<artifactId>hutool-all</artifactId>
	<version>5.7.20</version>
</dependency>

2. hutool下面又个工具类

package cn.hutool.core.util;

import cn.hutool.core.exceptions.UtilException;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.lang.ObjectId;
import cn.hutool.core.lang.Singleton;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.lang.UUID;
import cn.hutool.core.lang.id.NanoId;
import cn.hutool.core.net.NetUtil;

public class IdUtil {
    public IdUtil() {
    }

    public static String randomUUID() {
        return UUID.randomUUID().toString();
    }

    public static String simpleUUID() {
        return UUID.randomUUID().toString(true);
    }

    public static String fastUUID() {
        return UUID.fastUUID().toString();
    }

    public static String fastSimpleUUID() {
        return UUID.fastUUID().toString(true);
    }

    public static String objectId() {
        return ObjectId.next();
    }

    /** @deprecated */
    @Deprecated
    public static Snowflake createSnowflake(long workerId, long datacenterId) {
        return new Snowflake(workerId, datacenterId);
    }

    public static Snowflake getSnowflake(long workerId, long datacenterId) {
        return (Snowflake)Singleton.get(Snowflake.class, new Object[]{workerId, datacenterId});
    }

    public static Snowflake getSnowflake(long workerId) {
        return (Snowflake)Singleton.get(Snowflake.class, new Object[]{workerId});
    }

    public static Snowflake getSnowflake() {
        return (Snowflake)Singleton.get(Snowflake.class, new Object[0]);
    }

    public static long getDataCenterId(long maxDatacenterId) {
        Assert.isTrue(maxDatacenterId > 0L, "maxDatacenterId must be > 0", new Object[0]);
        if (maxDatacenterId == 9223372036854775807L) {
            --maxDatacenterId;
        }

        long id = 1L;
        byte[] mac = null;

        try {
            mac = NetUtil.getLocalHardwareAddress();
        } catch (UtilException var6) {
        }

        if (null != mac) {
            id = (255L & (long)mac[mac.length - 2] | 65280L & (long)mac[mac.length - 1] << 8) >> 6;
            id %= maxDatacenterId + 1L;
        }

        return id;
    }

    public static long getWorkerId(long datacenterId, long maxWorkerId) {
        StringBuilder mpid = new StringBuilder();
        mpid.append(datacenterId);

        try {
            mpid.append(RuntimeUtil.getPid());
        } catch (UtilException var6) {
        }

        return (long)(mpid.toString().hashCode() & '\uffff') % (maxWorkerId + 1L);
    }

    public static String nanoId() {
        return NanoId.randomNanoId();
    }

    public static String nanoId(int size) {
        return NanoId.randomNanoId(size);
    }

    public static long getSnowflakeNextId() {
        return getSnowflake().nextId();
    }

    public static String getSnowflakeNextIdStr() {
        return getSnowflake().nextIdStr();
    }
}

第二种方法

字符串类型的

DateTime.Now.ToString("yyMMddHHmmssfff")+ Guid.NewGuid().ToString("N")

第三种方法

字符串类型的

UUID.randomUUID().toString().replace("-", "");
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MFC本身并不提供数据库管理的功能,需要借助外部数据库管理工具,比如ODBC或者ADO。这里以ODBC为例,介绍如何在MFC中创建一个id数据库表。 1. 在ODBC中创建一个新的数据源,选择合适的数据库驱动程序,输入数据库信息,保存。 2. 在MFC应用程序中,添加一个ODBC数据库连接类。在资源视图中,右键单击应用程序名称,选择添加类,选择ODBC数据库类向导,按照向导提示创建ODBC数据库连接类。 3. 在ODBC数据库连接类中添加一个函数,用于创建一个id数据库表。代码如下: ```cpp BOOL CMyODBCConnection::CreateTable() { // 获取数据库连接 if (!Open()) return FALSE; // 执行SQL语句 CString strSql; strSql.Format(_T("CREATE TABLE MyTable (id INT PRIMARY KEY IDENTITY, name CHAR(20), age INT)")); try { m_pDatabase->ExecuteSQL(strSql); } catch (CDBException* e) { e->ReportError(); e->Delete(); Close(); return FALSE; } // 关闭数据库连接 Close(); return TRUE; } ``` 这个函数使用ExecuteSQL函数执行一个SQL语句,创建一个名为MyTable的表,包含三个字段:id、name和age。其中id字段使用IDENTITY属性,表示自。 4. 在MFC应用程序中调用CreateTable函数,创建一个id数据库表。代码如下: ```cpp CMyODBCConnection conn; if (conn.CreateTable()) AfxMessageBox(_T("Table created successfully!")); else AfxMessageBox(_T("Failed to create table!")); ``` 这个代码片段中,我们创建了一个CMyODBCConnection对象,调用CreateTable函数创建一个id数据库表。如果创建成功,弹出一个消息框提示“Table created successfully!”;否则弹出“Failed to create table!”。 需要注意的是,如果要使用ODBC数据库连接类,需要在MFC应用程序中添加头文件afxdb.h,并链接odbc32.lib库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值