2017-01-20 15 views
1

私はMySQLデータベースにテーブルユーザーを持っていて、自分のプロジェクトにクラスUserを作成しました。私は、Hibernateを使用せずに、HibernateのようUserオブジェクトに直接レコードを取得したいと思います:JDBCはクエリ結果としてドメインオブジェクトを返すことができます

User u = (User) session.get(User.class, id); 

私はJDBCドライバを使用します。

オブジェクトなどの結果セットを取得するにはどのような方法があります:

Statement stmt = db.createStatement(); 
User u = stmt.executeQuery("SELECT * FROM user",User.class); 

私は怠惰なプログラマだが、私は、リストを作成し、それを反復処理するループを作成し、すべての変数を設定していないでしょう。

私は解決しました。 @Kayaman ORMliteライブラリが見つかりました。 http://ormlite.com/javadoc/ormlite-core/doc-files/ormlite_1.html#Getting-Started

+0

私は質問に従っていません。どのような結果セットが必要ですか? –

+4

はい、例えばあなたのためのマッピングを行うHibernateを使うことによって。 – Kayaman

答えて

3

短い答えのために

String databaseUrl = "..."; 
ConnectionSource cs = new JdbcConnectionSource(databaseUrl); 
Dao<User,Integer> userDAO = DaoManager.createDao(cs, User.class); 

User u = userDAO.queryForId(1); 
System.out.println(u.getName()); 

:いいえ。あなたはORMと呼ばれるために求めている何

。 JDBCはORMではありません。 Hibernateは、JDBCを使用して実際にデータベースサーバに接続し、データベースサーバと対話するJavaのORMです。 EclipseLinkは、もう一つのJava ORM(glassfishに含まれているORM)です。

+0

私は必ずフレームワークを使用しなければなりませんか? –

+0

@FabrizioFranzè自分で結果セットマッピングを作成したくない場合は、ライブラリを使用する必要があります。 – Kayaman

+0

私はどのライブラリを使用していますか? –

関連する問題