java从基自动递增

laawzig2  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(295)

在我的例子中,我有类和子类。问题是当我自动搜索我的函数increment id时。当我第一次点击搜索它上传5个ID,当我添加一个并返回搜索它上传5个ID我有+(5旧+1新)。如果我想加一个新的,它会给他5+6+1个新的=13个id。
类auto long具有id和名称:

public static AtomicInteger idSequence = new AtomicInteger();

    public Car(String name) {
        this.id = (long)idSequence.incrementAndGet();
        this.name= name;
    }

子类:

public OldCars(String name){
        super(name);
    }

要从h2更新的函数:

public static List<Car> uploadAllCars() throws SQLException, IOException {
        Connection connection= connectToDatabase();
        List<Car> listOfCars= new ArrayList<>();

    Statement stmt = connection.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT * FROM CARS");

    while(rs.next()){
        Long id = rs.getLong("id");
        String name= rs.getString("name");

        Car car= new Car(name);
        car.setId(id);
        listOfCars.add(car);

    }
    closeConnectionToDataBase(connection);

    return listOfCars;}

问题是如何停止自动递增和调用函数没有总和的ID。我调用uploadallcars函数来搜索每一辆特定的车,但它会立即自动递增。
编辑:我想从用户输入名称(不是id)

wecizke3

wecizke31#

定义另一个从数据库中获取汽车的构造函数,如下所示:

public Car(String name, long id) {
        this.id = id;
        this.name = name;
}

用它来代替 new Car(name) ,所以 new Car(name, id)

相关问题