java用变量调用方法

lf5gs5x2  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(140)

需要打电话给他吗ı因为对所有数据库表都使用,所以s方法带有变量。我可以在一个数组中获得所有列、变量类型和边界限制吗?我不想为每个表都编写一个方法。让它更通用。

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));

有什么办法让它发生吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题