我正在使用jOOQ获取id,这在MySQL中是smallint unsigned主键auto_increment
public List getID() {
Factory sql = new Factory(Database.getInstance().connect(), SQLDialect.MYSQL);
return (List) sql.select().from("users").fetch().getValues("id_users");
}
然后出错
org.jooq.tools.unsigned.UShort cannot be cast to java.lang.Integer
Here他们写道,smallint unsigned应该转换为int.
编辑
方法应该是
public List getID() {
Factory sql = new Factory(Database.getInstance().connect(), SQLDialect.MYSQL);
return (List) sql.select().from("users").fetch().getValues("id_users");
}
并且循环结果应该转换为int.
解决方法:
您不能将UShort转换为Integer,因为它不会继承该类.我猜你应该使用UShort.intValue()来检索整数.
标签:java,mysql,casting,jooq
来源: https://codeday.me/bug/20190520/1144102.html