读书人

关于自动生成id的有关问题

发布时间: 2012-01-19 20:57:58 作者: rapoo

关于自动生成id的问题
刚学完jdbc:

现在做个小项目练习一下

项目:旅馆定房系统

项目分析: 业务逻辑:Roombiz(房间的添加,删除,修改,查找)
数据:Room(房间的数据,如,唯一id号,房间号)

问题:我在oracle数据库中建立room房间表,把id设置为主键,并且自动生成,保证唯一就行了,可是老师还用很很多其他的方法来创建id,为什么呢?

Room类:
package linshi.hbs.entity;

public class Room
{
private int id;

private String no;

private String type;

private String description;

public String getDescription()
{
return description;
}

public void setDescription(String description)
{
this.description = description;
}

public int getId()
{
return id;
}

public void setId(int id)
{
this.id = id;
}

public String getNo()
{
return no;
}

public void setNo(String no)
{
this.no = no;
}

public String getType()
{
return type;
}

public void setType(String type)
{
this.type = type;
}

}

Roombiz类: 注意就看添加方法
package linshi.hbs.biz;

import java.util.Collection;

import linshi.hbs.entity.Room;
import linshi.hbs.util.IdGenerator;
import linshi.hbs.util.IdGeneratorFactory;

public class RoomBiz
{
public void add(Room room) throws Exception
{
IdGenerator generator = IdGeneratorFactory.getIdGenerator();
generator.setProperty( "sequence ", "room_seq ");

room.setId(generator.nextId());
}

public void modify(Room room) throws Exception
{
}

public void remove(Room room) throws Exception


{
}

public Collection find(Room room) throws Exception
{
return null;
}

public Room findById(int id) throws Exception
{
return null;
}
}

[解决办法]
Oracle没有自增ID.只能通过序列(Sequence)来获取.

读书人网 >J2SE开发

热点推荐