我在MySQL数据库中有一个表用户,我为我的项目创建了一个类User
。我希望直接在User
对象中获取记录,就像在Hibernate中一样,而不使用Hibernate:
User u = (User) session.get(User.class, id);
我使用JDBC驱动程序。
有没有办法将结果集设置为Object,如:
Statement stmt = db.createStatement();
User u = stmt.executeQuery("SELECT * FROM user",User.class);
我是一个懒惰的程序员,我不会创建一个列表,创建一个循环来迭代它并设置所有变量。
我已经解决了。 @Kayaman我找到了ORMlite库。
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());
http://ormlite.com/javadoc/ormlite-core/doc-files/ormlite_1.html#Getting-Started
答案 0 :(得分:3)
简短回答:不。
您要求的是ORM。 JDBC不是ORM。 Hibernate是Java的ORM,它使用JDBC实际连接到数据库服务器并与之交互。 EclipseLink是另一个Java ORM(它是glassfish附带的一个)。