dupogisaga
dupogisaga
#java #sql #programowanie #programista15k

PreparedStatement preparedStatement = conn.prepareStatement("SELECT dziennik_elektroniczny.haslo_i_login.ID_user FROM dziennik_elektroniczny.haslo_i_login WHERE login = ? AND haslo = ?");
preparedStatement.setString(1, login);
preparedStatement.setString(2, haslo);

Stworzyłem takie oto zapytanie do bazy danych. Jak zrobić aby tam gdzie są znaki zapytania były cudzysłowowa? \? nie działa.
0
  • Najlepsze
  • Wszystkie komentarze
Nicarim
Nicarim
@dupogisaga: trochę nie odpowiem na twoje pytanie
Ale czy w twojej bazie zakładasz istnienie użytkowników o takim samym loginie ale innym haśle? bo twoje zapytanie trochę to zakłada
0
krasnoludkolo
@dupogisaga jak chcesz ręcznie pisać sqle to ogarnij sobie JOOQ
0
Paszczoworek
Paszczoworek
@dugopisa Nie rozumiem twojego pytania. Co znaczy cydzysłowowa? Jak byś chciał, żeby wyglądało twój wynikowy stmt, czy nie tak:

SELECT X.ID_user FROM X WHERE login = 'test_login' AND haslo = 'test_login'
Jeśli tak to robisz to dobrze i co będzie między ' to zależy jak zadeklarujesz zmienne login i haslo

@Nicarim ten stmt tego nie zakłada. Takie założenia trzeba robić w ddl tabeli.
@krasnoludkolo JOOQ jest podobno spoko, ale
0
krasnoludkolo
@Paszczoworek darmowa wersja spokojnie starcza to pisania prostych sqli
0
krasnoludkolo
@Paszczoworek: jeśli dobrze rozumiem (popraw mnie jeśli nie), to ta wersja open source do pisania samych SQLi i pobierania czegoś z bazy (i nawet ręczne mapowanie tego) starcza (?)
0
Paszczoworek
Paszczoworek
@krasnoludkolo: Tu nie jest problem czy piszesz proste sql czy złożone, bo do tego jOOQ jest też fajny, a zależy do jakich baz danych chcesz się połączyć. Tu masz spis jaka licencja z jaką bazą danych się zintegruje. I tak jeśli używasz PostgreSQL czy MariaDB to spokojnie Ci wystarczy. Natomiast jeśli masz projekt chmurowy i chcesz użyć baz danych z AWS albo Azure to już musisz zabulić sporą kasę jak
0
krasnoludkolo
@Paszczoworek: a jeśli używam postgresa w cloudzie to pod które bym się łapał?

JOOQ ma te zaletę, że ponieważ on 'tylko' generuje sqle można bardzo fajnie optymalizować sobie wykorzystanie połączeń do bazy. Po prostu daje większą kontrole ( ͡° ͜ʖ ͡°)
0
Paszczoworek
Paszczoworek
@krasnoludkolo: To jest dobre pytanie. Jaki cloud? Jaki postgres? Jaka wersja jOOQ?

Tak to prawda, też my dlatego chcieliśmy go użyć ( ͡° ͜ʖ ͡°). Wszystkie narzędzia robią jeszcze coś więcej. Przy okazji czego używasz do zarządzania pulą połączeń do db?
0
krasnoludkolo
@Paszczoworek postgres 9.6, cloud gcp Ręcznie otwieram i nimi potem zarządzam, bo tam nie do końca pasuje klasyczny pool ;)
0
Paszczoworek
Paszczoworek
@krasnoludkolo: O gcp wiem najmniej :). Ale z tego co na szybko zerknąłem to można używać Postgresa przez Cloud SQL, jOOQ też nic akurat o gcp nie wspomina, więc raczej można używać darmowej wersji ;).
0
krasnoludkolo
@Paszczoworek taką mam nadzieję ( ͡º ͜ʖ͡º)
0