我正在使用 jOOQ 来获取 MySQL 中的 idsmallint unsigned primary key auto_increment
public List<Integer> getID() {
Factory sql = new Factory(Database.getInstance().connect(), SQLDialect.MYSQL);
return (List<Integer>) sql.select().from("users").fetch().getValues("id_users");
}
然后出错
org.jooq.tools.unsigned.UShort cannot be cast to java.lang.Integer
在这里,他们写道,应该将 smallint unsigned 强制转换为 int。
编辑 方法应该是
public List<UShort> getID() {
Factory sql = new Factory(Database.getInstance().connect(), SQLDialect.MYSQL);
return (List<UShort>) sql.select().from("users").fetch().getValues("id_users");
}
并且在循环结果应该被强制转换为 int。