Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从作为方法参数传递的Postgresql DB对象类型读取_Java_Postgresql_Reflection - Fatal编程技术网

Java 从作为方法参数传递的Postgresql DB对象类型读取

Java 从作为方法参数传递的Postgresql DB对象类型读取,java,postgresql,reflection,Java,Postgresql,Reflection,所以我想知道的是,是否有可能创建一个通用的Postgresql连接类,在这个类中,您可以将希望从DB读取的对象类型(作为字符串)作为参数传递,然后实际从DB读取并返回适当的对象列表 比如: class DbConnection{ string type; public DbConnection(string objectType) { type = objectType; } public getConnection() {..}

所以我想知道的是,是否有可能创建一个通用的Postgresql连接类,在这个类中,您可以将希望从DB读取的对象类型(作为字符串)作为参数传递,然后实际从DB读取并返回适当的对象列表

比如:

class DbConnection{ 
    string type;

    public DbConnection(string objectType) {
        type = objectType;
    }

    public getConnection() {..}

    public List<Object> readObjectsDb() {
        ...
        return List<type> theObjects // type is the atually class type, no longer the string now
    }
}
类DbConnection{
字符串类型;
公共数据库连接(字符串对象类型){
类型=对象类型;
}
公共getConnection(){..}
公共列表readObjectsDb(){
...
返回列表objects//type是通常的类类型,现在不再是字符串
}
}
基本上,我能够基于输入参数使用这个类读取任何Postgresql数据库,并且知道我传递的类型实际上存在于我的程序中


可能吗?也许可以通过某种方式使用反射?

有许多库可以为您提供此功能。例如Spring。看起来不错,我仍然不明白将我的类型作为字符串传递如何将对象列表转换为我希望它成为的特定类型。方法接受一个
行映射器
。编写您自己的或使用内置的
BeanPropertyRowMapper
。您可能会发现对的响应很有用。这是不确定的。如果您的退货类型是
List
发现该类型有什么好处?无论如何,你会立即丢失这些信息。为什么不接受一个
,而不是字符串名,获取类似
clazz.getSimpleName()
之类的名称,然后返回
列表
?有许多库可以为您实现这一点。例如Spring。看起来不错,我仍然不明白将我的类型作为字符串传递如何将对象列表转换为我希望它成为的特定类型。方法接受一个
行映射器
。编写您自己的或使用内置的
BeanPropertyRowMapper
。您可能会发现对的响应很有用。这是不确定的。如果您的退货类型是
List
发现该类型有什么好处?无论如何,你会立即丢失这些信息。为什么不接受一个
而不是字符串名,获取类似
clazz.getSimpleName()
之类的名称,然后返回
列表