0

我希望能够从 spring 属性配置我的数据库表/列名称。我通过声明性 API 使用 JDBI 进行数据访问。我的代码示例目前如下所示:

import something.model.User;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.SqlQuery;

public interface UserDAO {
    String TABLE_NAME = "user";
    String ID = "ud";
    String EMAIL = "email";
    String PASSWORD = "password";
    String FIRST_NAME = "firstName";
    String LAST_NAME = "lastName";
    String TYPE = "userType";

    @SqlQuery("SELECT " + ID + ", " + EMAIL + ", " + PASSWORD + ", " + FIRST_NAME + ", " + LAST_NAME + ", " + TYPE + " " +
              "FROM " + TABLE_NAME + " " +
              "WHERE " + ID + " = :" + ID
    )
    User findUserById(@Bind(ID) int id);
}

我想使用属性而不是此处定义的常量,类似于String TABLE_NAME = "${myConfig.table.user.name}";. 但是,我无法在网上找到任何关于这是否真的可以做到的信息。我有一种预感,这是不可能的,但为了确定我决定问一下,也许有人对此了解更多。任何建议将不胜感激!

4

0 回答 0