如何从mysql到java获取集合数据类型
这是我的问题。我在mysql数据库中创建了一个包含SET数据类型列的表。 我想得到这个(集合)列的值
我已经完成了所有的连接配置,在我的代码中一切都很好
如何在Set java对象中使用resultSet获取Set数据类型
我试过这个
Java bean代码
public class Valeur {
private Long id;
private Set categoriesValues = new HashSet();
\\getters and setters for the id and the categoriesValues
}
ReultSet码
private static Valeur map(ResultSet resultSet) throws SQLException {
Valeur valeur = new Valeur();
valeur.setId(resultSet.getLong("id"));
valeur.setCategoriesValues(resultSet.getString("categoriesValues"));
return valeur;
}
ResultSet适用于id,但不适用于集合类型
谢谢
# 1 楼答案
因为它没有在java.sql.Types中表示,所以我猜它是一种很少使用的自定义类型,在许多RDBMS中不受支持
也就是说,要检索该值,可能:
或
获取对象。我猜您必须手动将其打包到
java.util.Set
中(或者getObject()返回一个java.util.Set
?)# 2 楼答案
根据https://dev.mysql.com/doc/connector-j/en/connector-j-reference-type-conversions.html,mysql集合列映射到Java字符串
将Java拆分为您自己需要的值
在您的示例中(未经测试):