Re: легковесный маппинг в спринговом контексте
От: GreenTea  
Дата: 06.09.14 19:12
Оценка: +1
Здравствуйте, Antei, Вы писали:

A>Добрый день!


A>я заметил что в одном проекте коллеги поместили sql код прямо в java классы.

A>Внедрять что-либо типо Mybatis в этом проекте уже поздно, но хотелось бы исправить ситуацию.
A>Есть ли какой-нибудь способ перенести в Spring context (используем Spring) sql код и мапперы?

A>Хотелось бы перенести в спринг xml контекст:

A>
sql оператор: select some_field from some_table where id = :id
A>и маппер some_field на поле бина


A>У меня есть идеи как это сделать, но не хочу спойлить, может кто предложить что попроще

A>Посоветуйте какие-нибудь простые варианты как это сделать.
A>Спасибо!

Добрый день.
Какие по вашему мнению это даст преимущества перед использованием голого sql прямо в джава коде?
Я например вижу недостаток — если кардинально меняется запрос то надо лазить в 2 файлах — в спринговом контексте и в джава коде (который будет этот запрос доставать, передавать параметры, вызывать и мапить результат на объекты).

Второй еще больший недостаток это то, что запросы прописанные в файлах априори статические, а в коде можно добавлять условия поиска динамически.
Т.е. например у юзера есть фильтр по 3 полям, он их может заполнять или нет. Если заполнил — накладываем условие поиска. Получается если фигачить в коде, то это делается 1 запросом с 3 if-ами. Если же отдельно запросы, то надо предусмотреть все возможные кобинации заполнения фильтров и под каждый написать свой запрос. Для 3 полей это 2^3 = 8 запросов.


Насчет интеграции спринга и sql советую посмотреть документацию
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.