【问题标题】:Is that possible to retrieve data from different table using same function in spring JDBC?是否可以在 Spring JDBC 中使用相同的函数从不同的表中检索数据?
【发布时间】:2016-11-23 09:40:33
【问题描述】:

这是我从表播放器中获取所有行的函数。

public List<Player> getAllPlayer() {
    String sql = "SELECT * FROM PLAYER";
    List<Player> lstPlayers  = getJdbcTemplate().query(
        sql, new BeanPropertyRowMapper(Player.class)
    );
    return lstPlayers;      
}

我想使用相同的函数从另一个表“学生”中获取数据。 是否可以通过更改使用相同的函数从两个表中获取数据 上面的代码类似于下面?

public List<Object> getData(String TableName) {
    String sql = "SELECT * FROM " + TableName;
    List<Object> lstPlayers  = getJdbcTemplate().query(
        sql, new BeanPropertyRowMapper(Object.class)
    );
    return lstPlayers;
}

【问题讨论】:

  • 你尝试的时候发生了什么?
  • 您是否尝试过自己执行此操作?始终建议先尝试代码,然后在遇到任何错误时提出疑问

标签: java mysql spring jdbc


【解决方案1】:

您可以执行以下操作

List<Player> players = getData(Player.class);
List<Student> students = getData(Student.class);

public List<T> getData(Class<T> clazz) {

    String sql = "SELECT * FROM " + clazz.getSimpleName();
    List<T> lstPlayers  = getJdbcTemplate().query(
            sql,
            new BeanPropertyRowMapper(clazz));

    return lstPlayers;
}

但是在现实生活中并没有太大的优势。由于性能和其他原因,想要一次加载数据库表的所有内容并不常见,因此这种方法不会像您想象的那么有用。

【讨论】:

    猜你喜欢
    • 2017-11-15
    • 1970-01-01
    • 2011-04-15
    • 2012-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    相关资源
    最近更新 更多