ejb access database

, ejb 3,0, persistens mekanisme bruges til at få adgang til den database, som beholder forvalter databasen relaterede aktiviteter.udviklere, kan få adgang til databasen med jdbc api til direkte i ejb forretningsmetoder.,, at påvise, adgang til databaser i ejb, vi gør følgende opgaver,.,,, trin 1.skabe tabel i databasen.,,, trin 2.skabe en statsløs ejb har mig.,,, trin 3.ajourføring af statsløse ejb.tilføje metoder at tilføje optegnelser og oplysninger fra databasen via enhed manager.,,, trin 4.en computer er baseret på anvendelse i klient vil få adgang til statsløse ejb ved data i databasen.,,, skabe tabel, skabe en tabel, bøger, i mora, database, postgres,., skabe tabel bøger (id heltal primære nøgle, navn varchar (50), skabe en model klasse, offentlige klasse bog gennemfører serializable {private int id; private snor navn; de offentlige book() {} offentlige int getid() {tilbage id.}.}, skabe statsløse ejb, @ statsløse offentlige klasse librarypersistentbean gennemfører librarypersistentbeanremote (offentlige eller addbook (bog, bog) (//fortsætter bog med jdbc kalder} offentlig liste < bog > getbooks() (//få bøger ved hjælp af jdbc kalder}.} efter bygningen ejb modul, vi har brug for en kunde til at få adgang til statsløse bean, som vi kommer til at skabe i næste afsnit, f.eks. ansøgning, lad os skabe en test ejb ansøgning til test ejb database adgang mekanisme. stepdescription 1create et projekt med et navn, ejbcomponent under en pakke, com.tutorialspoint.entity, som som forklaret i den, ejb - skabe anvendelse, kapitel.du kan også bruge projektet skabt i, ejb - skabe anvendelse, kapitel som sådan i dette kapitel, til at forstå, ejb data adgang begreber.2create, book.java under - pakken, com.tutorialspoint.entity, og at ændre det, som vist nedenfor.3create, librarypersistentbean.java, og librarypersistentbeanremote, som forklaret i den, ejb - skabe anvendelse, kapitel og ændre dem, som vist nedenfor.4clean og opbygge anvendelse for at sikre, at erhvervslivet logik er at arbejde som pr. kravene.5finally, anvende anvendelse i form af jar - fil på jboss applikationsserver.jboss applikationsserver vil starte automatisk, hvis det ikke er begyndt endnu.6now skabe ejb klient, en konsol baseret på anvendelse på samme måde som forklaret i, ejb - skabe anvendelse, kapitel under emne, skabe klient adgang til ejb,.ændre det, som vist nedenfor., ejbcomponent (ejb modul), book.java, pakke com.tutorialspoint.entity; import java.io.serializable; offentlige klasse bog gennemfører serializable (private int id; private snor navn; de offentlige book() {} offentlige int getid() {tilbage id.} offentlige tomrum setid int (id) (this.id = id.} offentlige snor getname() {navn} offentlige tomrum tilbage. setname (string navn) (this.name = navn}}, librarypersistentbeanremote.java, pakke com.tutorialspoint.stateless; import com.tutorialspoint.entity.book; import java.util.list; import javax.ejb.remote; @ fjerntliggende offentlig grænseflade librarypersistentbeanremote {tomrum addbook (bog bookname); listen < bog > getbooks();}, librarypersistentbean.java, pakke com.tutorialspoint.stateless; import com.tutorialspoint.entity.book; import java.sql.connection; import java.sql.drivermanager; import java.sql.preparedstatement; import java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; import java.util.arraylist; import java.util.list; import javax.ejb.stateless; @ statsløse offentlige klasse librarypersistentbean gennemfører librarypersistentbeanremote {offentlige librarypersistentbean() {} offentlige tomrum addbook (bog, bog) {forbindelse (= ugyldig; snor url = "jdbc: postgresql: //localhost:. 5432 /postgres" snor chauffør = "org. postgresql."; snor brugernavn = "sa" snor kodeord = "sa" liste < bog > bøger = nye arraylist < bog > c); prøve (klasse. forname (føreren). newinstance(); en = drivermanager. getconnection (url, brugernavn, password); preparedstatement st = con. preparestatement ("indsætte i bog (navn) - værdier (?)"); st.setstring, stk. 1, bog. getname()); int resultat = st. executeupdate();} fangst (sqlexception ex) (ex. printstacktrace();} fangst (instantiationexception ex) (ex. printstacktrace();} fangst (illegalaccessexception ex) (ex. printstacktrace();} fangst (classnotfoundexception ex) (ex. printstacktrace();}} offentlig liste < bog > getbooks() {forbindelse (= ugyldig; snor url = "jdbc: postgresql: //localhost:. 5432 /postgres" snor chauffør = "org. postgresql."; snor brugernavn = "sa" snor kodeord = "sa" liste < bog > bøger = nye arraylist < bog > c); prøve (class.forname (føreren). newinstance(); en = drivermanager. getconnection (url, brugernavn, password); erklæring st = con. createstatement(); resultset rs = st.executequery ("vælg * fra bog") bog, bog, mens (rs. next()) (bog = nye book(); bog. setid (rs.getint (1); bog. setname (rs.getstring (2)); bøger. der tilsættes (bog)}} fangst (sqlexception ex) (ex. printstacktrace();} fangst (instantiationexception ex) (ex. printstacktrace();} fangst (illegalaccessexception ex) (ex. printstacktrace();} fangst (classnotfoundexception ex) (ex. printstacktrace();} tilbage bøger.}},,,,,,, så snart du indsætte ejbcomponent projekt om jboss, bemærker de jboss log.,,, jboss automatisk er skabt en jndi adgang til vores møde, bønne -, librarypersistentbean /fjerntliggende,.,,, vi vil anvende denne lookup tråde for at få isolerede forretninger er genstand for type -, kom. tutorialspoint. statsløse. librarypersistentbeanremote,,,, jboss applikationsserver log produktion.16:30:01401 info [jndisessionregistrarbase] bindende følgende punkter i den globale jndi: librarypersistentbean /fjern - ejb3. x misligholdelse fjerntliggende virksomheder grænseflade librarypersistentbean /remote-com.tutorialspoint.stateless.librarypersistentbeanremote - ejb3. x fjerntliggende virksomheder grænseflade 16:30:02723 info [sessionspeccontainer] begynder jboss. j2ee tingelser [...]: jar jar navn = = ejbcomponent. librarypersistentbeanremote, service = ejb3 16:30:02723 info [ejbcontainer] begyndte ejb - com.tutorialspoint.stateless.librarypersistentbeanremote ejbname: librarypersistentbean 16:30:02731 info [jndisessionregistrarbase] bindende følgende punkter i den globale jndi: librarypersistentbean /fjern - ejb3. x misligholdelse fjerntliggende virksomheder grænseflade librarypersistentbean /remote-com.tutorialspoint.stateless.librarypersistentbeanremote - ejb3. x fjerntliggende virksomheder grænseflade., ejbtester (ejb klient), jndi.properties, java. navngivning. første = org.jnp.interfaces.namingcontextfactory java. navngivning. url. pkgs = org. jboss. navn: org.jnp.interfaces java. navngivning. udbyder. url = localhost, disse egenskaber bruges til at nulstille initialcontext objekt for java, at tjeneste,,, initialcontext objekt, vil blive anvendt til at lookup statsløse samling bean,,, ejbtester.java, pakke com.tutorialspoint.test; import com.tutorialspoint.stateless.librarypersistentbeanremote; import java.io.bufferedreader; import java.io.fileinputstream; import java.io.ioexception; import java.io.inputstreamreader; import java.util.list; import java.util.properties; import javax.naming.initialcontext; import javax.naming.namingexception; publiklasse c ejbtester {bufferedreader brconsolereader = null egenskaber rekvisitter. initialcontext ctx; (rekvisitter = nye properties(); prøve (rekvisitter. belastning (nye fileinputstream ("jndi. egenskaber")} fangst (ioexception ex) (ex. printstacktrace();} prøve (ctx = nye initialcontext (-);} fangst (namingexception ex) (ex. printstacktrace();} brconsolereader = nye bufferedreader (nye inputstreamreader (system. i)} offentlige statisk tomrum vigtigste (string [] args) (ejbtester ejbtester = nye ejbtester(); ejbtester. testentityejb();} private tomrum showgui() {system. println ("**********************"); systemerm.out. println ("velkommen til bog butikken"); system. println ("**********************"); system. tryk ("muligheder. n1.tilføj bog. n2.exit. nenter valg: ");} private tomrum testentityejb() (prøve (int valg = 1; librarypersistentbeanremote librarybean = librarypersistentbeanremote) ctx. lookup (" librarypersistentbean /fjerntliggende "), mens (valg!= 2) {snor bookname; showgui(); snor strchoice = brconsolereader. readline(); valg = tal. parseint (strchoice); hvis (valg = = 1) (system. tryk ("enter bog hedder:"); bookname = brconsolereader. readline(); bog, bog = nye book(); bog. setname (bookname); librarybean. addbook (bog)} andre, hvis (valg = = 2) {pause.}} liste < bog > bookslist = librarybean. getbooks(); system. println ("bog (er), der er opført så vidt:" + bookslist. size()); int i = 0. for (bog, bog: bookslist) (system.out.println((i + 1) + "."+ bog. getname()); jeg + +) fangst (undtagen e) (system. println (f. getmessage()); f. printstacktrace();} {{(brconsolereader endelig prøve!= null) (brconsolereader. close();}} fangst (ioexception ex) (system. println (eks. getmessage())}}}}, ejbtester udfører følgende opgaver,.,,, last egenskaber fra jndi.properties og nulstille initialcontext objekt.,,, teststatefulejb() metode, jndi lookup er færdig med navn - "librarystatelesssessionbean /fjerntliggende" for at få fjernbetjeningen business objekt (stateful ejb).,,, så brugeren er vist et bibliotek butik brugergrænseflade, og han /hun bliver bedt om at træde valg.,,, hvis brugeren indtaster 1, system kræver bog navn og redder bog ved hjælp af statsløse samling bean addbook() metode.samling bean er vedvarende bogen i databasen via entitymanager.,,, hvis brugeren indtaster 2, system retrives bøger ved hjælp af statsløse samling bean getbooks() metode og udgange.,,, så en anden jndi lookup er færdig med navn - "librarystatelesssessionbean /fjerntliggende" for at få fjernbetjeningen business objekt (stateful ejb) og opførelse af bøger er gjort.,,, løb klient adgang til ejb, find ejbtester.java i projektet udforsker.højreklik på ejbtester klasse og udvælge, løb fil,., kontrollere følgende output i netbeans konsol. løb: ********************** velkommen til boghandel ********************** muligheder. 1.tilføj bog 2.udførsel træde valg: 1 træde bog navn: lære java ********************** velkommen til boghandel ********************** muligheder. 1.tilføj bog 2.udførsel træde valg: 2 bog (er), der er opført så vidt: 1 1.lære java bygge vellykkede (i alt: 15 sekunder)



Previous:
Next Page: