public static String getPrimaryKey(String tableName, String primaryKey, int length) {
String sql = "SELECT CONCAT(LPAD(MAX("+primaryKey+") + 1 , "+length+", '0'), '') id from "+tableName;
String id = new String((byte[])(Db.queryFirst(sql)));
return id.toString();
// return "00002";
}写一个极其简单的主键生成方法,居然为这个折腾好久,看来还是自己太菜了
年月日 + 小时 + 分 + 秒 + 业务类型 + hash(userId)
由于 userId 是不可能重复的,hash 以后与前面的一系列数值拼接起来几乎不可能重复,再加上这个值设置为表的主键或者联合主键,即便出现重复也无法插入数据库