gpt4 book ai didi

java - 使用Java将HSQLDB表中的数据转换为二维数组

转载 作者:行者123 更新时间:2023-12-02 08:07:50 25 4
gpt4 key购买 nike

我试图从 LivEx 表中获取数据作为列表,然后将该数据保存到称为数组的二维数组中。我的方法返回 object[][]。

我通过谷歌到处搜索并从每个示例中获取一些内容编写了这段代码,但是我做错了一些事情,我似乎无法完全指出。每当我调用 getLivExList(currentPlan) 时,它都会给我一个 NullPointerException 异常。

这是我的代码:

public static Object[][] getLivExList(String currentPlan) throws Exception {
Session s = null;

try {
s = HibernateUtil.getSessionFactory().getCurrentSession();
s.beginTransaction();
String query = "select F.item, F.category, F.amount from LivEx F where F.planName=?";
Query q = s.createQuery(query);
System.out.println(query);
List fp = q.list();
s.getTransaction().commit();
Object array[][] = new Object[fp.size()][3];
for (int i = 0; i < fp.size(); i++) {
for (int j = 0; j < 3; j++) {
array[i][j] = fp.get(j +(3 * i));
}
}
System.out.println("getLivExdata in networthentitymanager OKAY");
return array;
} catch (Exception e) {
System.out.println("problem at getLivExdata in networthentitymanager");
throw e;
} finally {
if (s != null) {
HibernateUtil.closeSession();
}
}

请帮我看看问题出在哪里。

这是我遇到的异常:

    SEVERE: null
org.hibernate.QueryException: Expected positional parameter count: 1, actual parameters: [] [select F.item, F.category, F.amount from LivEx F where F.planName=?]
0 problem
at org.hibernate.impl.AbstractQueryImpl.verifyParameters(AbstractQueryImpl.java:319)
at org.hibernate.impl.AbstractQueryImpl.verifyParameters(AbstractQueryImpl.java:275)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:75)
at com.elitconsultancy.finplanner.entity.NetWorthEntityManager.getLivExList(NetWorthEntityManager.java:213)

最佳答案

即使您指定了位置参数 (?),您也没有设置查询的计划名称。

将其放在调用 list 之前:

query.setString(0, currentPlan);

关于java - 使用Java将HSQLDB表中的数据转换为二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7871496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com