Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 107 108 109 110 111 [112] 113 114 115 116 .. 134   вперед  Ctrl
 Re: Где взять опыт?)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2489
asv79,
Тебе быстро или красиво?
31 июл 19, 12:11    [21938729]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
vas0
Member

Откуда: Таможенный союз (Россия, Казахстан)
Сообщений: 1289
asv79
вот как тут в запрос кореектно вписать все имя +% в конце
все же просто, при задании параметра указываешь
TypedQuery<Flower> q = em.createQuery(" Select f from Flower f where f.name like :u1 and f.price < :u2", Flower.class);
            q.setParameter("ul", name + "%"); 
31 июл 19, 12:19    [21938739]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
vas0
Member

Откуда: Таможенный союз (Россия, Казахстан)
Сообщений: 1289
либо такой вариант запроса можно попробовать
select f from Flower f where f.name like like :u1 || '%' and f.price < :u2
31 июл 19, 12:24    [21938743]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 42946
Сомнительно чтоб клиент магазина ввел правильно название цветка.

Клиенты на 99% ленивые сволочи.

Максимум - наклацать мышкой из каталога готовенького.

Или вбить в поисковик: бел роз купить .
31 июл 19, 12:28    [21938750]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2738
vas0
либо такой вариант запроса можно попробовать
select f from Flower f where f.name like like :u1 || '%' and f.price < :u2

там еще кавычки нужны одинарные в запросе 'Роза%' а
сам запрос хибера тоже в кавычках

 TypedQuery<Flower> q = em.createQuery(" Select f from Flower f where f.name like :u1 and f.price < :u2", Flower.class);


аргумент метода тоже в кавчках

flowerList=flowerService.getFlowerByNameAndPrice("Роза%",new BigDecimal(30));


тут я уже пока просто вручную пытаюсь подставлять -понять что хибернейт скушает
пока ничего не хочет

но вот так рабоатает
TypedQuery<Flower> q = em.createQuery(" Select f from Flower f where f.name like 'Роза%' and f.price < :u2", Flower.class);
          //  q.setParameter("ul",name);
            q.setParameter("u2",price);
31 июл 19, 12:43    [21938779]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2738
PetroNotC Sharp
asv79,
Тебе быстро или красиво?

мне бы хоть как) видишь я тут с кавычками воюю)
31 июл 19, 12:44    [21938780]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
vas0
Member

Откуда: Таможенный союз (Россия, Казахстан)
Сообщений: 1289
asv79,
Ты используешь два именнованных параметра (u1, u2) так они и должны выглядеть f.name like :u1 and f.price < :u2.
Можно извращаться и делать конкатенацию строк f.name like :u1 || '%' или f.name like concat(:u1, '%')

TypedQuery<Flower> q = em.createQuery(" Select f from Flower f where f.name like 'Роза%' and f.price < 30", Flower.class);

этот же просто вариант
TypedQuery<Flower> q = em.createQuery(" Select f from Flower f where f.name like :u1 and f.price < :u2", Flower.class);
            q.setParameter(u1, "Роза%");
            q.setParameter(u2, 30);
31 июл 19, 13:00    [21938804]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 42946
asv79
PetroNotC Sharp
asv79,
Тебе быстро или красиво?

мне бы хоть как) видишь я тут с кавычками воюю)

Где ты воевал? Я не вижу вообще никаких следов войны.
31 июл 19, 13:42    [21938879]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2738
vas0
asv79,
Ты используешь два именнованных параметра (u1, u2) так они и должны выглядеть f.name like :u1 and f.price < :u2.
Можно извращаться и делать конкатенацию строк f.name like :u1 || '%' или f.name like concat(:u1, '%')

TypedQuery<Flower> q = em.createQuery(" Select f from Flower f where f.name like 'Роза%' and f.price < 30", Flower.class);

этот же просто вариант
TypedQuery<Flower> q = em.createQuery(" Select f from Flower f where f.name like :u1 and f.price < :u2", Flower.class);
            q.setParameter(u1, "Роза%");
            q.setParameter(u2, 30);

в том весь и фокус что не работает вот так
q.setParameter(u1, "Роза%");

в выражение должно попасть 'Роза%' а попадает роза%
31 июл 19, 13:43    [21938880]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2489
mayton
asv79
пропущено...

мне бы хоть как) видишь я тут с кавычками воюю)

Где ты воевал? Я не вижу вообще никаких следов войны.
))
31 июл 19, 13:45    [21938885]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2738
mayton
asv79
пропущено...

мне бы хоть как) видишь я тут с кавычками воюю)

Где ты воевал? Я не вижу вообще никаких следов войны.

это тебе повезло))
31 июл 19, 13:49    [21938893]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2489
asv79
это тебе повезло))
не. Тут большинство на ОРМ где нет кавычек.
31 июл 19, 14:17    [21938920]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16799
PetroNotC Sharp
Ну и вадю зови.
AJAX.

будем мучиться или?
mayton
: бел роз купить .

с защитой от инъекций или как проще?
31 июл 19, 14:20    [21938923]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2738
все свелось к тому,чтобы передать в качестве аргумента в этот метод

flowerList=flowerService.getFlowerByNameAndPrice("'Роза%'",new BigDecimal(30));


чтобы эта роза подставилась сюда 'Роза%'

 public List<Flower> getFlowerByNameAndPrice(String name, BigDecimal price) {
        try {
            TypedQuery<Flower> q = em.createQuery(" Select f from Flower f where f.name like :u1 and f.price < :u2", Flower.class);
            q.setParameter("ul",name);
            q.setParameter("u2",price);
            return q.getResultList();

я так понимаю нужно передавать как массив чаров,стрингом это не передать ?
31 июл 19, 14:47    [21938963]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 42946
вадя
PetroNotC Sharp
Ну и вадю зови.
AJAX.

будем мучиться или?
mayton
: бел роз купить .

с защитой от инъекций или как проще?

Как гугл.

При чем тут инжекция? Нормальный текстовый поиск вообще бегает не по SQL. По специализированным системам
текстового поиска.
31 июл 19, 15:05    [21938991]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2738
бубнопляски продолжаются)
вопрос открытый
public List<Flower> getFlowerByNameAndPrice(String name) {
           TypedQuery<Flower> q = em.createQuery(" Select f from Flower f where f.name like 'Роза%' ", Flower.class);
            return q.getResultList();

вот так работает


а вот так

public List<Flower> getFlowerByNameAndPrice(String name) {
        try {
            TypedQuery<Flower> q = em.createQuery(" Select f from Flower f where f.name like :u1 ", Flower.class);
            q.setParameter("ul",name);
            return q.getResultList();

           getFlowerByNameAndPrice("Роза%") --не работает
           getFlowerByNameAndPrice(" ' Роза% ' ")---не работает
              
           


чудеса кавычек джавы )))интересно кто первый угадает как я или вы))
31 июл 19, 15:05    [21938992]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16799
asv79,

Select f from Flower f where f.name like :u1 

как по мне - так за такой поиск я бы руки отрывал....
тем более, что уже всё сказано:

mayton
Сомнительно чтоб клиент магазина ввел правильно название цветка.

Клиенты на 99% ленивые сволочи.

Максимум - наклацать мышкой из каталога готовенького.

Или вбить в поисковик: бел роз купить .


достаточно представить себя на месте пользователь и ....
31 июл 19, 15:09    [21938999]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2738
вадя
asv79,

Select f from Flower f where f.name like :u1 

как по мне - так за такой поиск я бы руки отрывал....
тем более, что уже всё сказано:
Сомнительно чтоб клиент магазина ввел правильно название цветка.

Клиенты на 99% ленивые сволочи.

Максимум - наклацать мышкой из каталога готовенького.

Или вбить в поисковик: бел роз купить

достаточно представить себя на месте пользователь и ....

ну опять 25)) ну задание у меня такое,очистите вы мозги от энтерпрайза хоть на секунду)вот УЧЕБНОЕ ЗАДАНИЕ ТАКОЕ-СКАЗАЛИ ТАК ДЕЛАТЬ Я ТАК И ДЕЛАЮ -ИЩУ ВСЕ РОЗЫ С ЦЕНОЙ НЕ ДОРОЖЕ 30

Я ЗНАЮ ЧТО ТАК НЕ ДЕЛАЕТСЯ,ДА И ДАВНО УЖЕ ВСЕ ПИШЕТСЯ НА БУТЕ ,А НЕ НА МОЕЙ СОЛЯНКЕ-НО У МЕНЯ УЧЕБНЫЙ ПРОЕКТ -ТУТ НЕТ ПРИВЕРЕДЛИВЫХ ПОЛЬЗОВАТЕЛЕЙ И ПРОЧЕГО

пс.надеюсь удалось достучаться )
31 июл 19, 15:21    [21939021]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16799
asv79
пс.надеюсь удалось достучаться )
проблема в том, что на основании таких заданий и создаётся опыт и практика реальных задач....
тем более, что решение ни чуть не сложнее
31 июл 19, 15:26    [21939025]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2738
вадя
asv79
пс.надеюсь удалось достучаться )
проблема в том, что на основании таких заданий и создаётся опыт и практика реальных задач....
тем более, что решение ни чуть не сложнее

ну как сказали так и делаю,я против ментора не хочу хвост подымать ,все что мне нужно сделать как попросили

просто передать в метод имя так ,чтобы оно коректно прочиталось хибером хотя я уже и дебагером проверил прилетает в нормальном виде = не пойму в чем засада
31 июл 19, 15:32    [21939032]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16799
asv79,


автор
getFlowerByNameAndPrice("Роза%") --не работает

без процента - работать будет?
31 июл 19, 15:55    [21939052]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2738
вадя
asv79,


автор
getFlowerByNameAndPrice("Роза%") --не работает

без процента - работать будет?


нет конечо,процент вот отсюда тянется

select * from Flower WHERE name like ('Роза%')

типо все что начинается с роза будет выбрано
31 июл 19, 16:03    [21939063]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2738
asv79
вадя
asv79,


пропущено...

без процента - работать будет?


нет конечо,процент вот отсюда тянется

select * from Flower WHERE name like ('Роза%')

типо все что начинается с роза будет выбрано


можно роза и без скобок,но без кавычек и процента не пашет
31 июл 19, 16:04    [21939064]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 42946
asv79
вадя
asv79,

Select f from Flower f where f.name like :u1 

как по мне - так за такой поиск я бы руки отрывал....
тем более, что уже всё сказано:
Сомнительно чтоб клиент магазина ввел правильно название цветка.

Клиенты на 99% ленивые сволочи.

Максимум - наклацать мышкой из каталога готовенького.

Или вбить в поисковик: бел роз купить

достаточно представить себя на месте пользователь и ....

ну опять 25)) ну задание у меня такое,очистите вы мозги от энтерпрайза хоть на секунду)вот УЧЕБНОЕ ЗАДАНИЕ ТАКОЕ-СКАЗАЛИ ТАК ДЕЛАТЬ Я ТАК И ДЕЛАЮ -ИЩУ ВСЕ РОЗЫ С ЦЕНОЙ НЕ ДОРОЖЕ 30

Я ЗНАЮ ЧТО ТАК НЕ ДЕЛАЕТСЯ,ДА И ДАВНО УЖЕ ВСЕ ПИШЕТСЯ НА БУТЕ ,А НЕ НА МОЕЙ СОЛЯНКЕ-НО У МЕНЯ УЧЕБНЫЙ ПРОЕКТ -ТУТ НЕТ ПРИВЕРЕДЛИВЫХ ПОЛЬЗОВАТЕЛЕЙ И ПРОЧЕГО

пс.надеюсь удалось достучаться )

Демократия бро. Здесь мемберы говорят то что думают.

Смирись с этим.

Или создай свой форум где ты будешь главный демократ. И будешь соотв. регулировать правила что можно
каментить только задания и проч.
31 июл 19, 16:11    [21939073]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 42946
Кстати где последние ревизии? 6 часов назад был коммит.

https://github.com/apb12/FlowerShop

Там есть твойя майн кампф с кавычками? Куда смотреть та?
31 июл 19, 16:13    [21939077]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 107 108 109 110 111 [112] 113 114 115 116 .. 134   вперед  Ctrl
Все форумы / Java Ответить