|
|
|
JDBC + SQL + Model = как правильно сделать запрос ?
|
|||
|---|---|---|---|
|
#18+
Давайте представим, что есть доступ до БД через JDBC, запросы к БД используя SQL. Есть база данных, допусти музыки. Есть много связанных табличек, допустим есть Альбом а в нем есть (Артист, Описание альбома, Картинка да еще и Песни) = то есть целая композиция. а таблицы Артист, Описание альбома, Картинка, Песня = еще связанные как то там и имеют поля разные. И вот мне надо на JSP страницу отрендерить Альбом и прочую инф., дак вот сам вопрос, как это правильно из БД вытащить эти данные, что бы было правильно сделано и не геморно. Я например знаю как сделать простой селект к БД, вытащить данные из ResultSet и передать 1-у модель куда то дальше, но когда Модель как в примере с Альбомом может включать и другие модель, которые с логике выступают атрибутами к таблице Альбом ... понятия не имею, как это сделать, одним запросом или несколько простых селектов, используя ДАО в других ДАО, которые еще в других ДАО используют вытаскивание данных ... то ли inner join то ли natural join ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 16:23 |
|
||
|
JDBC + SQL + Model = как правильно сделать запрос ?
|
|||
|---|---|---|---|
|
#18+
Hibernate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 16:25 |
|
||
|
JDBC + SQL + Model = как правильно сделать запрос ?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, я бы с большой радостью его бы использовал и даже собирают учить, но я хочу разобраться как это сделать так можно ... что надо и как оно выглядит хоть примерно ... полюбому hibernate использует JDBC - а другого доступа к БД на ДЖАВЕ не думаю что есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 16:29 |
|
||
|
JDBC + SQL + Model = как правильно сделать запрос ?
|
|||
|---|---|---|---|
|
#18+
myBatis QueryDSL Spring JDBCTemplate Apache Commons DB Utils ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 16:30 |
|
||
|
JDBC + SQL + Model = как правильно сделать запрос ?
|
|||
|---|---|---|---|
|
#18+
Вот ещё щепотка http://java-source.net/open-source/persistence ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 16:35 |
|
||
|
JDBC + SQL + Model = как правильно сделать запрос ?
|
|||
|---|---|---|---|
|
#18+
botasa111Я например знаю как сделать простой селект к БД, вытащить данные из ResultSet и передать 1-у модель куда то дальше, но когда Модель как в примере с Альбомом может включать и другие модель, которые с логике выступают атрибутами к таблице Альбом ... понятия не имею, как это сделать, одним запросом или несколько простых селектов, используя ДАО в других ДАО, которые еще в других ДАО используют вытаскивание данных ... то ли inner join то ли natural join ... Нужно выгрести данные, либо отдельными запросами. либо JOIN-ом, всё зависит от типа связей между сущностями. Затем нужно данные поместить в объекты. Для этого используютя разнообразные инструменты, список, я привел выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 16:37 |
|
||
|
JDBC + SQL + Model = как правильно сделать запрос ?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНужно выгрести данные, либо отдельными запросами. либо JOIN-ом, всё зависит от типа связей между сущностями. Затем нужно данные поместить в объекты. ну если в примере с Альбомом мне надо выгрести 3 запросами из 3 таблиц, потом вытащить основное из 4-й таблице Альбом, поместить 3 поля в альбом + сам альбом и передать дальше. Ну это в теории понятно, а вот с ДЖОЙНАМИ не очень, по сути, если с джойнами оно мне выдаст большую таблицу и там будет надо выбрать что мне надо, как то не очень с ООПе стороны мне кажется, ну это пока в теории ... Blazkowicz Для этого используютя разнообразные инструменты, список, я привел выше. а без них никак ??? я еще не знаю, в каких моментах можно это все использовать и когда нельзя, не хочу себя со старта к хорошему приучаться и не понимать как оно работает, рано или поздно, боком вылезет непонимание ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 16:51 |
|
||
|
JDBC + SQL + Model = как правильно сделать запрос ?
|
|||
|---|---|---|---|
|
#18+
botasa111Ну это в теории понятно, а вот с ДЖОЙНАМИ не очень, по сути, если с джойнами оно мне выдаст большую таблицу и там будет надо выбрать что мне надо, как то не очень с ООПе стороны мне кажется, ну это пока в теории ... Результат JOIN-а действительно не просто разгребать в объекты. Поэтому существует куча фреймверков, которые это сильно упращают. ООП к этому отношения не имеет. Реляционная структура на объекты однозначно не проецируется. Поэтому приходится маппить одно на другое. botasa111а без них никак ??? я еще не знаю, в каких моментах можно это все использовать и когда нельзя, не хочу себя со старта к хорошему приучаться и не понимать как оно работает, рано или поздно, боком вылезет непонимание ... Ну, пишите велосипед самостоятельно. Будет понятнее польза от фреймверков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2014, 17:05 |
|
||
|
JDBC + SQL + Model = как правильно сделать запрос ?
|
|||
|---|---|---|---|
|
#18+
botasa111И вот мне надо на JSP страницу отрендерить Альбом и прочую инф., дак вот сам вопрос, как это правильно из БД вытащить эти данные, что бы было правильно сделано и не геморно. Ну я делаю так. В начале пишу класс который будет отображать что-то на странице. Например Album Потом смотрю какие данные он использует. Ну а дальше просто. Если есть возможность замапить все данные одним запросом, то пишу его. Если нет, то пишу несколько запросов. Да и DAO, тогда не нужен. Т.е. вы просто пишите функцию, которая собирает нужный вам объект :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2014, 08:27 |
|
||
|
JDBC + SQL + Model = как правильно сделать запрос ?
|
|||
|---|---|---|---|
|
#18+
Вам верно сказали. Начните с карандаша и формы которую вы хотите. И не пишите свой первый велосипед. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2014, 09:03 |
|
||
|
JDBC + SQL + Model = как правильно сделать запрос ?
|
|||
|---|---|---|---|
|
#18+
Velosiped.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. Db.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2014, 09:07 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38580422&tid=2127549]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 498ms |

| 0 / 0 |
