您的位置:首页 > 理论基础 > 计算机网络

为何要将主机划分为网络―地址管理

2011-05-20 08:56 363 查看
在数据库设计原理中;自增长字段的目的是为了unique的索引来判断每条记录唯一性;同时保证大数据库量的时候的查询速度。

但在oracle和mongodb数据库中有单独的字段判断唯一性;所以设计中没有自增长字段方式(mysql和mssql都有);并且也不提倡用自增长字段设计表结构。

不过经常用习惯这种方式的程序员;oracle和mongodb数据库也可以实现类似的功能;oracle中有sequence方式。

那我们也可以试试在mongodb数据库中实现自增长字段模式;就是模仿一下oracle中有sequence方式。

1:在mongodb数据库中建立一个名为:sequence的collection;

2个field:coll_name(记录其它collection名字)和cnt(其它collection的自增长字段最大序号)。

2:java代码:

//得到用户表的sequence 自增长id

private static int getSequence(String tableName){

DBCollection table = conn.getDb().getCollection("sequence");

DBObject query = new BasicDBObject();

query.put("coll_name", tableName);

DBObject newDocument =new BasicDBObject();

newDocument.put("$inc", new BasicDBObject().append("cnt", 1));

DBObject ret = table.findAndModify(query, newDocument);

if (ret == null){

return 0;

}else{

return (Integer)ret.get("cnt") + 1;

}

}

//新增用户

public static void addUser(UserInfo user){

int id = getSequence("admin_user");

if(id != 0){

DBCollection table = conn.getDb().getCollection("admin_user");

DBObject query = new BasicDBObject();

query.put("id", id);

query.put("name", user.getName());

query.put("e_mail", user.geteEmail());

query.put("passwd", user.getPassword());

query.put("is_del", false);

query.put("create_time", user.getCreateTime());

table.insert(query);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐