| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Патерн sigleton и подключение к MS SQL |
| Автор: Alagert 20.4.2006, 20:11 | ||||
Вот столкнулся с такой проблемой: пишу клиетское приложение для MS SQL server. Подключение к серверу хочу сделать с помощью абстрактного класса, который бы не каждый раз создавался, когда нужно подключение, а получал свою реализацию. Т.е. хочу использовать патерн singleton. Вот код, который, я думал, будет работать.
Соответсвенно натолкнулся на грабли. По тому как
возвращает Class. Происходит ошибка инициализации. Народ помогите Плиз, подскажите как мне правильно использовать данную стратегию? И расскажите: как наиболее часто пишуться подключения к БД? Всем спасибо. |
| Автор: LSD 20.4.2006, 20:21 | ||||
Такой код:
вернет тебе екземпляр драйвера SQL Server-а, а не твой класс. Тебе надо создать не абстрактную реализацию твоего класса DBConnection, и получать ее:
|
| Автор: Alagert 20.4.2006, 20:28 | ||||
Я так понимаю
я должен присвоить моему синглтону? При этом в статической часте моего класса оставить
Правильно? И как обычно пишуться подключения к базам? |
| Автор: LSD 20.4.2006, 20:39 | ||||||
Только не
а
т.к. DBConnection абстрактный и создать его экземпляр не получится. Зависит от условий задачи. Если тебе надо много соединений, то надо использовать пул. Если же это обычное клиентское приложение, то можно обойтись и одним. Можно например считать пареметры соединения из конфигурационного файла, а потом просто:
|
| Автор: Alagert 20.4.2006, 21:19 | ||
| LSD, пасибо большое. А если сдеалть так:
то не вызывается статический инициализатор. Почему? |
| Автор: LSD 20.4.2006, 21:48 | ||||
| Потому что ты пытаешься загрузить класс DBConnection, а у тебя на самом деле класс com.alagert.mssql.db.DBConnection. Java всегда оперирует полными именами классов. Кстати почему ты не заменишь:
на
? |
| Автор: Beard 21.4.2006, 11:31 |
| Уж раз у тебя singleton, то конструктор надо сделать private. |
| Автор: LSD 22.4.2006, 22:23 | ||
http://www.natahaus.ru/2006/01/23/primenenie_shablonov_Java.html. А вообще посмотри в http://forum.vingrad.ru/index.php?showforum=150, там были еще книги по шаблонам проектирования. |