是否有可能实现“自动化”。将新字段添加到数据库/ bean类时更新到Prepared Statements?

时间:2014-08-10 21:50:54

标签: java automation

好久不见!

我正在创建Web应用程序,并希望在将新字段添加到生成我的JavaBean类和相应数据库表的XSD时加快更新Prepared Statements的过程。这是按顺序进行的过程:

  1. 向数据库表添加字段
  2. 使用添加为元素
  3. 的变量更新XSD
  4. 使用XJC生成JavaBean类
  5. 一旦使用更新的字段和相应的getter / setter方法重写了类,它就可以使用"可用"要设置。

    然而,问题仍然存在,我必须进入我的DAO课程,并更新结果集,并获得' get'场。

        String foo = resultSet.getString("TABLENAME_foo");
    

    然后,我必须为方法设置类实例:

        instanceObj.setFoo(foo);
    

    关于我如何自动化此流程的任何想法?这是一个相对简单的更新,但重点是,我希望尽可能多的自动化。

    • 我不打算使用任何形式的插件,插件等,也不想使用ORM解决方案。

2 个答案:

答案 0 :(得分:0)

您可以从XSD文件中生成DAO类。然后,您可以获取/设置在那里定义的每个字段的值。 另一种方法是在DAO中创建一个通用方法,该方法使用内省来查找属性或分析XSD并使用这些信息来正确设置属性。

答案 1 :(得分:0)

您可以使用ResultSetMetaData

中的ResultSet
ResultSetMetaData metadata = resultSet.getMetaData();
int columnCount = metadata.getColumnCount();
for (int i=1; i<=columnCount; i++) 
{
    String columnName = metadata.getColumnName(i);
}

然后使用Reflection设置实例。

但在这种情况下,实例的字段名称必须与DB列名称相同。 或者您可以使用SELECT TABLENAME_foo as fieldName FROM ***来解决问题。