数据库查询在javafx ComboBox侦听器内部不起作用

时间:2019-03-14 18:05:02

标签: spring javafx

我用数据库记录填充了Javafx中的组合框。现在的问题是,当我通过选择组合框项目获得对象 Id 时。我正在尝试通过 Id 从数据库中检索整个对象,并将对象值设置为其他字段。 但是执行查询后,我收到了组合框选择的值 V1 V2 而不是对象

这是我的代码

tcVersion.getSelectionModel().selectedItemProperty().addListener((obs, oldVal, newVal)


                 int id=tcVersion.getSelectionModel().getSelectedItem().getId();
               TestCase tCase=testCaseDao.getTestCase(id);
            priorityCB.setValue(tCase.getTestCasepriority());
                   stateCB.setValue(tCase.getTestCaseState());
                   automatedStatusCB.setValue(tCase.getTsmAutomatStatus());

        });

在这里,第一行为我提供了对象的ID,但在第二行中却没有检索到 数据库中的对象。有什么办法可以做到这一点。谢谢

TestCaseDao

public class TestCaseDao extends JdbcDaoSupport implements TestCaseDao {
          public TestCase getTestCase(int tcId) {
String getTestCaseSql = "select * from cmatrix_testcase_mapping where tsm_key=?"
                return getJdbcTemplate().queryForObject(getTestCaseSql, new RowMapper<TestCase>() {
                    @Override
                    public TestCase mapRow(ResultSet rs, int rownumber) throws SQLException {
                        TestCase testCase = new TestCase();
                        try {
                            testCase.setTestCaseId(rs.getInt("tsm_key"));
                            testCase.setArea_key(rs.getInt("tsm_apa_key"));
                            testCase.setTestCaseName(rs.getString("tsm_name"));
                            testCase.setParentKey(rs.getString("tsm_parent_key"));
                            testCase.setTsmAutomatStatus(rs.getString("tsm_automat_status"));
                            testCase.setTestCasepriority(rs.getString("tsm_priority"));
                            testCase.setTestCaseState(rs.getString("tsm_state"));
                            testCase.setTestType(rs.getString("tsm_test_type"));
                        } catch (Exception e) {
                            System.out.println(e.getMessage());
                        }
                        return testCase;

                    }
                }, tcId);
            }
    }

0 个答案:

没有答案