java用变量调用方法

时间:2018-07-05 11:29:45

标签: java mysql string jdbc

由于用于所有数据库表,因此需要使用变量来调用此方法。 我可以在一个数组中获得所有列以及变量类型和边界限制吗?谁想以一种更专业的方式在方法中使用该方法来更新所有表。我不想为每个表编写一个方法。使这种方法更通用。

    Calendar calendar = Calendar.getInstance();
    java.sql.Date startDate = new java.sql.Date(calendar.getTime().getTime());
/*My array is which is come from another method:[[id, INT, 10], [MYUSER, VARCHAR, 30], [EMAIL, VARCHAR, 50], [WEBPAGE, VARCHAR, 50], [DATUM, DATE, 10], [SUMMARY, VARCHAR, 40], [COMMENTS, VARCHAR, 400]]*/
    PreparedStatement st = conn.prepareStatement("UPDATE comments SET id=?,MYUSER = ?, EMAIL = ?,WEBPAGE = ?,DATUM=?,SUMMARY=?,COMMENTS=? WHERE id = "+id+"");

    st.setInt(1, id);
    st.setString(2, element.get(0));
    st.setString(3, element.get(1));
    st.setString(4, element.get(2));
    st.setDate(5, startDate);
    st.setString(6, element.get(3));
    st.setString(7, element.get(4));

    st.executeUpdate();
    conn.close();

我尝试格式化我的代码,但未能将其设置为字符串格式的方法。

尽管如此,我希望使代码更专业,更灵活。 例如这样的

    String a = "set.";
    String b = "String";
    String c = "int";

    st.setInt(1, id);

    st."a+c"(2, element.get(0));
    st."a+b"(3, element.get(1));
    st."a+b"(4, element.get(2));
    st."setDate"(5, startDate);
    st."a+b"(6, element.get(3));
    st."a+b"(7, element.get(4));

关于如何实现它的任何想法?

0 个答案:

没有答案