|
|
|
Spring. Подключение к базе. Чтение properties.
|
|||
|---|---|---|---|
|
#18+
Хочу посоветоваться как лучше сделать. Сначала опишу, что имею. Проект на spring. Работа с базой организована через hibernate. Файл(jdbc.properties) с параметрами подключения лежит в папке WEB-INF. В файле spring-servlet.xml инициализация подключения: Код: xml 1. 2. 3. Теперь возникла необходимость вызывать хранимые процедуры, которые возвращают курсор. Подключение делаю так: Код: java 1. 2. Все работает - курсор из хранимых процедур возвращается. Вопрос заключается в том, как лучше всего передать параметры подключения в getConnection? Брать из файла jdbc.properties или можно как-то из dataSource? Нашел решение Здесь - Стоит ли выбрать этот вариант? Но там файл с настройками должен находиться в папке resources. Не создавать же два одинаковых файла с настройками в папках WEB-INF и resources. Как лучше всего сделать? Можно ли параметры взять из dataSource? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2014, 14:58 |
|
||
|
Spring. Подключение к базе. Чтение properties.
|
|||
|---|---|---|---|
|
#18+
wvetalВ файле spring-servlet.xml инициализация подключения: Код: xml 1. Это "источник данных", а не "подключение". wvetalПодключение делаю так: Код: java 1. 2. Просто потому что так захотелось, а не по какой-то объективной причине? wvetalВопрос заключается в том, как лучше всего передать параметры подключения в getConnection? Брать из файла jdbc.properties или можно как-то из dataSource? Какие ещё параметры? DataSource.getConnection() чем не устраивает??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2014, 15:03 |
|
||
|
Spring. Подключение к базе. Чтение properties.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczКакие ещё параметры? DataSource.getConnection() чем не устраивает??? Спасибо за подсказку, сделал так - установил соединение... Но, вылезло другое: Код: 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. Вылетает исключение на строчке: ResultSet results = ((OracleCallableStatement)cs).getCursor(3); //на этой строчке бросает исключение //java.lang.ClassCastException: //org.apache.commons.dbcp.DelegatingCallableStatement cannot be cast to oracle.jdbc.OracleCallableStatement ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2014, 16:33 |
|
||
|
Spring. Подключение к базе. Чтение properties.
|
|||
|---|---|---|---|
|
#18+
Пул оборачивает все JDBC классы своими. Поэтому DelegatingCallableStatement.getDelegate() и там будет OracleCallableStatement ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2014, 16:40 |
|
||
|
Spring. Подключение к базе. Чтение properties.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczПул оборачивает все JDBC классы своими. Поэтому DelegatingCallableStatement.getDelegate() и там будет OracleCallableStatementСпасибо. Все получилось. Выложу код, может кому-то пригодится: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2014, 17:34 |
|
||
|
Spring. Подключение к базе. Чтение properties.
|
|||
|---|---|---|---|
|
#18+
wvetal, смотря какая версия DBCP, но можно и так OracleCallableStatement theOracleStatement = cs.unwrap(OracleCallableStatement.class); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2014, 18:04 |
|
||
|
Spring. Подключение к базе. Чтение properties.
|
|||
|---|---|---|---|
|
#18+
wvetalКак лучше всего сделать? Можно ли параметры взять из dataSource? ДА! Использовать Spring JdbcTemplate. Код: xml 1. 2. 3. Работает, так же как с JDBC, только без обвязки try{}catch{} ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2014, 12:49 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38786558&tid=2126397]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
160ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 468ms |

| 0 / 0 |
