現在、Spring MVCフレームワークでJDBCテンプレートを使用してデータにアクセスし、クエリを作成しています。私はこれが不必要な定型コードをたくさん持っているため、これがデータにアクセスする有効な方法ではないと聞きました。このE.Gを行う別の方法があるかどうかを知りたいと思います。 Spring JPA/hibernateでもこれがどのように達成されるかはまだ分かりません。spring JDBCテンプレートからJPAへの切り替え
//DAO Class
@Repository
public class UserDAO {
private final String GET_USERS_SQL = "SELECT users.username AS 'users.username',\n"
+ " users.enabled AS 'users.enabled',\n"
+ " users.timestamp AS 'users.timestamp',\n"
+ " users.id AS 'users.id'\n"
+ " FROM users";
@Autowired
private JdbcTemplate jt;
public List<User> getAllUsers() {
List<User> users = this.jt.query(GET_USERS_SQL, new UserRowMapper());
return users;
}
}
//エンティティクラス
public class User {
private final long id;
private final String username;
private final boolean enabled;
private final Timestamp timestamp;
public User(long id, String username, boolean enabled, Timestamp timestamp) {
this.id = id;
this.username = username;
this.enabled = enabled;
this.timestamp = timestamp;
}
// getters & setters
@Override
public String toString() {
return "User{" + "id=" + id + ", username=" + username + ", enabled=" + enabled + ", timestamp=" + timestamp + '}';
}
}
コードは、すべてが正常に動作しているが、これは、このような定型的なコード 誰でものような問題につながることができますJDBCテンプレートを使用して簡単な例をこれがどのように簡単なバージョンに変更できるのか知っていますか?
おかげ
は、私がどこかに私のクエリを含める必要がありますか?私は自分の設定ファイルを変更する必要があると思います。 pom.xmlとservlet.xml? – r93
'@ NamedQuery'を使って必要な場合に備えてクエリをインクルードすることができます。はい、春データのアーティファクト依存性を追加する必要がありますが、それは私の意見では価値があります。 –
@ r93このチュートリアルのリストは役立ちますhttp://www.petrikainulainen.net/spring-data-jpa-tutorial/ –