Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Presbiopia - la 43 ani ?

Termen transcriere autovehicul

Cazare Timisoara pe 4-5 zile

Primele zile ale internetului per...
 Ditra 25

Casti USB-C ptr A-54

Aplicatie medicala / asistent med...

De ce vor atația politicieni...
 ERR_ADDRESS_UNREACHABLE

Legea 18/1968 Se mai aplica?

Digi conectare 2 routere prin fir

Succesiune notar versus instanta ...
 Montaj aer conditionat in balcon ...

Cont curent mulți valuta far...

Sugestii plan casa

Experiente cu firme care cumpara ...
 

Java object to sql database

- - - - -
  • Please log in to reply
9 replies to this topic

#1
lagyna1012

lagyna1012

    New Member

  • Grup: Junior Members
  • Posts: 3
  • Înscris: 09.09.2018
Imi cer scuze, daca mesajul va iesi prea lung si va multumesc, anticipat, pentru timpul care mi-l acordati..  
Incerc sa invat,cum utilizez obiectele in java si dau doar de obstacole.
Am urmatoarea clasa "User"
public class User {
String username;
String password;
int age;
String gender;
String email;
//respectiv toti setterii si getterii,care ar ocupa prea mult spatiu, sa ii atasez.
}


Aici am jsp-ul care, preia valorile din fiecare camp si le seteaza unui obiect de tipul clasei User de mai sus.
<form action="index.jsp">
Username: <input type="text" name="username" />
Password: <input type="password" name="password" />
Age: <input type="text" name="age" />
Gender: <input type="text" name="gender" />
Email: <input type="text" name="email" />
<input type="submit" name="submit" value="Submit" />
<form>
<%
if(request.getParameter("submit")!=null){

CreateUser.returnMessage();
User user = new User();
user.setUsername(request.getParameter("username"));
user.setPassword(request.getParameter("password"));
user.setAge(Integer.parseInt(request.getParameter("age")));
user.setGender(request.getParameter("gender"));
user.setEmail(request.getParameter("email"));
CreateUser.createNewUser(user);

}
%>



Si respectiv, metoda createNewUser din clasa CreateUser pe care am utilizat-o mai sus.
public class CreateUser {
public static void createNewUser(User user) throws SQLException, ClassNotFoundException {
String sql = "INSERT INTO user(username,password,age,gender,email) VALUES (?,?,?,?,?)";
Connection conn = MysqlConnection.getMySQLConnection();
PreparedStatement statement = conn.prepareStatement(sql);
statement.setString(1, user.getUsername());
statement.setString(2, user.getPassword());
statement.setInt(3, user.getAge());
statement.setString(4, user.getGender());
statement.setString(5, user.getEmail());
statement.executeUpdate();
}
}



Nu pot sa-mi dau seama de ce nu merge.  Poate cineva sa ma ajute sa inteleg. Sau poate nu fac corect si ar trebui sa o fac altfel.
Multumesc.

Edited by lagyna1012, 09 September 2018 - 20:59.


#2
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,233
  • Înscris: 24.02.2007
Ce eroare da?

De ce apelezi executeUpdate cand faci un insert?

Edited by dani.user, 09 September 2018 - 21:12.


#3
lagyna1012

lagyna1012

    New Member

  • Grup: Junior Members
  • Posts: 3
  • Înscris: 09.09.2018

View Postdani.user, on 09 septembrie 2018 - 21:11, said:

Ce eroare da?

De ce apelezi executeUpdate cand faci un insert?

http://prntscr.com/ksfh2k

Atunci cand se cehama metoda CreateUser,care inscrie datele in db,  arunca exceptia asta.

View Postdani.user, on 09 septembrie 2018 - 21:11, said:

Ce eroare da?

De ce apelezi executeUpdate cand faci un insert?

Asa se face un insert.

Edited by lagyna1012, 09 September 2018 - 21:15.


#4
CrocodiluMereuVesel

CrocodiluMereuVesel

    Member

  • Grup: Members
  • Posts: 615
  • Înscris: 23.07.2018
driverul jdbc mysql nu este in calea de dependinte a proiectului sau daca folosesti maven nu este in pom.xml-ul tau la dependency

View Postdani.user, on 09 septembrie 2018 - 21:11, said:

Ce eroare da?

De ce apelezi executeUpdate cand faci un insert?
pt ca in insertul este de fapt un update or insert ?!
Oricum eroarea primita nu are nici o legatura cu intrebarea ta.


initiator vezi ca java beans au fost inlocuite de mult cu entitatile JPA. Un provider de JPA este Hibernate, foloseste JPA-urile care fac injectia automata a codului din JSP in JPA si apoi
din JPA in tabela din baza de date(inclusiv serializarea automata a acestuia)

initiator nu mai folosi scriptleti in codul tau JSP , acestia au fost inlocuiti demult cu JSP-EL & JSTL.Deci retine JSP-EL & JSTL si fara scriptleti,

Edited by CrocodiluMereuVesel, 09 September 2018 - 21:37.


#5
lagyna1012

lagyna1012

    New Member

  • Grup: Junior Members
  • Posts: 3
  • Înscris: 09.09.2018

View PostCrocodiluMereuVesel, on 09 septembrie 2018 - 21:31, said:

driverul jdbc mysql nu este in calea de dependinte a proiectului sau daca folosesti maven nu este in pom.xml-ul tau la dependency


pt ca in insertul este de fapt un update or insert ?!
Oricum eroarea primita nu are nici o legatura cu intrebarea ta.


initiator vezi ca java beans au fost inlocuite de mult cu entitatile JPA. Un provider de JPA este Hibernate, foloseste JPA-urile care fac injectia automata a codului din JSP in JPA si apoi
din JPA in tabela din baza de date(inclusiv serializarea automata a acestuia)

initiator nu mai folosi scriptleti in codul tau JSP , acestia au fost inlocuiti demult cu JSP-EL & JSTL.Deci retine JSP-EL & JSTL si fara scriptleti,

Multumesc. O sa citesc mai mult despre JPA.  
Sursele din care invat is cam  vechi, cred.

#6
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,233
  • Înscris: 24.02.2007

View PostCrocodiluMereuVesel, on 09 septembrie 2018 - 21:31, said:

pt ca in insertul este de fapt un update or insert ?!

Neinspirat si confuz nume cand UPDATE e un cuvant cheie in SQL, diferit de INSERT.

View PostCrocodiluMereuVesel, on 09 septembrie 2018 - 21:31, said:

Oricum eroarea primita nu are nici o legatura cu intrebarea ta.

Eroarea primita nu era disponibila cand am intrebat...

#7
CrocodiluMereuVesel

CrocodiluMereuVesel

    Member

  • Grup: Members
  • Posts: 615
  • Înscris: 23.07.2018

View Postlagyna1012, on 09 septembrie 2018 - 21:39, said:

Multumesc. O sa citesc mai mult despre JPA.  
Sursele din care invat is cam  vechi, cred.
Nu sunt vechi(nimic in java enterprise nu este vechi) , idee e ca in cariera pe Java vei intlani si proiecte care au cod de business-logic facut in scriptleti(proiecte din 95-2000) care si acum sunt in productie
De aceea trebuie sa stii si scriptletii, doar ca nu mai sunt utilizati astazi si au gauri de securitate, insa trebuie sa-i cunosti daca vei face conversia din scriptleti in JSTL via JSP -EL

View Postdani.user, on 09 septembrie 2018 - 21:43, said:

Neinspirat si confuz nume cand UPDATE e un cuvant cheie in SQL, diferit de INSERT.
Nu este, daca inregistrarea se gaseste sa face update, daca nu se gaseste se face insert
Asa functioneaza de exemplu si Cassandra prin Big data (tot java realm)
si asta pt ca evenimentul de update este un eveniment derivat al evenimentului de Insert(OOP la nivel de principii)

Edited by CrocodiluMereuVesel, 09 September 2018 - 21:48.


#8
CrocodiluMereuVesel

CrocodiluMereuVesel

    Member

  • Grup: Members
  • Posts: 615
  • Înscris: 23.07.2018
Apropos din eroare am vazut ca folosesti TomCat-ul. TomCat este bun pt a invata, pt a face Unit-Testing, etc insa pt a te pregati de productie iti recomand  Wildfly(ex Jboss AS 7)
Wildfly contine si containerul EJB prin care poti gestiona entitatiile JPA si configura accestul serverului la baza de date.

Pentru aplicatii mici si medii merge Tomcatul.Pentru aplicatii enterprise Wildfly(opensource) sau Oracle Weblogic. E drept Weblogic are si suport pt frameworkul Oracle ADF unde poti creea aplicatii java enterprise fara a fi progamator java ( se bazeaza pe modelul de actor exact ca IBM Rational Rose)

#9
VarfDeAtom

VarfDeAtom

    Member

  • Grup: Members
  • Posts: 558
  • Înscris: 16.12.2012

View PostCrocodiluMereuVesel, on 09 septembrie 2018 - 21:47, said:

Nu este, daca inregistrarea se gaseste sa face update, daca nu se gaseste se face insert
Asa functioneaza de exemplu si Cassandra prin Big data (tot java realm)
si asta pt ca evenimentul de update este un eveniment derivat al evenimentului de Insert(OOP la nivel de principii)
.executeUpdate nu face asta, doar se executa un sql, DML or DDL, simplu. Cam asa e, numele metodei e confuz, mai ales daca nu citesti javadoc-ul metodei.
https://docs.oracle....ava.lang.String)

Edited by VarfDeAtom, 06 October 2018 - 21:14.


#10
25mack

25mack

    Junior Member

  • Grup: Members
  • Posts: 48
  • Înscris: 27.10.2013
cand te conectezi de pe un fisier jsp e diferit fata de un fiesier java.
trebuie sa intruduci urmatoarea linie inainte de try-=ul de la connection

Class.forName("com.mysql.cj.jdbc.Driver");



nu e gresita treaba cu executeUpdate.Unde ati invatat voi ca nu se face asa? uite ce zice api-java:


executeUpdate(String sql)
Executes the given SQL statement, which may be an INSERT, UPDATE, or DELETE statement or an SQL statement that returns nothing, such as an SQL DDL statement.

Edited by 25mack, 13 October 2018 - 18:02.


Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate