Соединение Java-объекта с таблицами MySql - PullRequest
1 голос
/ 14 февраля 2011

Я работаю с классами Java и ищу самый простой способ подключения таблицы БД в MySQL с помощью элементов (атрибутов) к коду Java.После выполнения запроса «SELECT» я получаю resultSet, но мне не совсем понятно, как в общем случае привести объект Object к объекту Java.

Например: у меня есть 2 класса Java - Student & Teacher,и я хотел бы использовать команду:

Student student = (Student) rs.getObject();

Спасибо, Рой

Ответы [ 4 ]

2 голосов
/ 14 февраля 2011

Я бы рекомендовал использовать JPA с реализацией eclipselink , а не выполнять запросы с использованием простого JDBC, и попытаться отобразить результаты из наборов результатов в объекты вручную (подверженные ошибкам).JPA сделает это за вас!

1 голос
/ 14 февраля 2011

Вы можете посмотреть на ORM решения, например Hibernate .

1 голос
/ 14 февраля 2011

Если ваш вопрос касается rs.getObject.
Вызов rs.getObject - это общий способ вызова rs.getInt, rs.getString, поскольку возвращаемые значения всех этих методов в конечном итоге являются объектами (Int, String и т. Д.).
Он вернет запрашиваемый вами столбец (либо по номеру заказа в select, либо по имени столбца). Не весь бин, соответствующий строке.
Rs.getObject используется, когда вы не знаете во время компиляции тип возвращаемого столбца.

Объект JDBC ResultSet не имеет магического метода getObject, который будет возвращать бин, соответствующий оператору select.

Вы можете разработать свой собственный ORM для бедняков с комбинацией

  1. JBBC ResultSetMetaData
  2. Java Reflexion

Но это сложнее, чем использовать существующий.

1 голос
/ 14 февраля 2011

это не работает таким образом.Вы должны сделать что-то вроде:

Student st = new Student();
st.setName(rs.getString("NAME"));
st.setAverage(rs.getInt("SCORE"));

, где NAME и SCORE - имена столбцов. документ также может помочь вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...