, gå i hi er en højtydende formål /relationel persistens og sætte spørgsmålstegn ved service, som er tilladt i henhold til open source - nationale samlingsregering mindre offentlige kørekort (lgpl) og er fri for at downloade.i dette kapitel.vi skal lære at opnå stivere 2 integration med gå i hi.hvis du ikke er bekendt med, så du kan tjekke vores gå i hi tutor., database, fælde, for resten, jeg vil bruge det "struts2_tutorial" mysql database.jeg forbinder denne database om min maskine med brugernavnet "rod" og ikke noget kodeord.for det første, du skal løbe efter manuskript.This script creates a new table called ,student, and creates few records in this table:, CREATE TABLE IF NOT EXISTS `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `first_name` varchar(40) NOT NULL, `last_name` varchar(40) NOT NULL, `marks` int(11) NOT NULL, PRIMARY KEY (`id`) ); -- -- Dumping data for table `student` -- INSERT INTO `student` (`id`, `first_name`, `last_name`, `marks`) VALUES(1, 'George', 'Kane', 20); INSERT INTO `student` (`id`, `first_name`, `last_name`, `marks`) VALUES(2, 'Melissa', 'Michael', 91); INSERT INTO `student` (`id`, `first_name`, `last_name`, `marks`) VALUES(3, 'Jessica', 'Drake', 21); ,Hibernate Configuration,Next let us create the hibernate.cfg.xml which is the hibernate's configuration - fil. <?xml - version ='1.0 "kodning ='utf-8?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">c om.mysql.jdbc.Driver </property> <property name="hibernate.connection.url"> jdbc:mysql://www.tutorialspoint.com/struts_tutorial </property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password"></property> <property name="hibernate.connection.pool_size">10</property> <property name="show_sql">true</property> <property navn = "dialekt" > org.hibernate.dialect.mysqldialect < /property > < ejendomsnavn = "gå i hi. hbm2ddl. auto" > ajourføre < /property > < kortlægning af klasse = "kom. tutorialspoint. gå i hi. elev" /> <. /samling fabrik > < /overvintrer konfiguration >, lad os gå gennem gå ud fil.det første, vi erklærede, at vi bruger mysql chauffør.så vi har erklæret jdbc url for tilslutning til databasen.så vi erklærede den forbindelse er brugernavn, kodeord og pool størrelse.vi sagde også, at vi ønsker at se den sql i log filen ved at dreje på "show_sql" rigtigt.gå gennem gå resten til at forstå, hvad disse egenskaber betyder.endelig lægger vi af klasse com.tutorialspoint.hibernate.student, der skaber vi i dette kapitel. envrionment fælde, næste gang du har brug for en hel masse glas til dette projekt.der er et skærmbillede af en komplet liste over jar filer påkrævet:,,, de fleste af jar - filer kan fås som en del af deres tid distribution.hvis du har en applikationsserver, f.eks. glassfish, websphere eller jboss monteres, så kan du få størstedelen af de resterende jar filer fra appserver iigestiiing mappe.hvis ikke du kan downloade filer individuelt:,,, gå i hi jar filer - gå i hi. org,,,,, går i hi stik af stivere gå stik af,,,,,,, jta filer - jta filer,,,, dom4j filer - dom4j,,,, slf4j filer - slf4j,,,, log4j filer - log4j,,, resten af filerne, bør de være i stand til at komme fra din struts2 distribution., gå i hi klasser, lad os skabe krævede java - klasser for overvintrer integration.efter indholdet af studerende -:, pakke com.tutorialspoint.hibernate; import javax.persistence.column; import javax.persistence.entity; import javax.persistence.generatedvalue; import javax.persistence.id; import javax.persistence.table; @ enhed @ tabel (navn = "elev") offentlige klasse elev (@ id @ generatedvalue private int id; @ kolonne (navn = "last_name") private snor lastname; (kolonne (navn = "first_name") privat kæde firstname; private int mærker; offentlige int getid() {tilbage id.} offentlige tomrum setid int (id) (this.id = id.} offentlige snor getlastname() {tilbage lastname;} offentlige tomrum setlastname (string - lastname) (this.lastname = lastname;} offentlige snor getfirstname() {tilbage firstname.} offentlige tomrum setfirstname (string firstname) (this.firstname = firstname.} offentlige int getmarks() {tilbage varemærke} offentlige tomrum setmarks int (er) (this.marks = varemærke}}, dette er en pojo klasse, der repræsenterer, studerende, som pr. gå i hi specifikation.det har egenskaber, id, firstname og lastname, der svarer til kolonnen, navnene på de studerende.så lad os skabe, studentdao.java, fil som følger:, pakke com.tutorialspoint.hibernate; import java.util.arraylist; import java.util.list; import org.hibernate.session; import org.hibernate.transaction; import kom. googlecode. s2hibernate. struts2. stik af. annotations.sessiontarget; import kom. googlecode. s2hibernate. struts2. stik af. annotations.transactiontarget; offentlige klasse studentdao {@ sessiontarget samling samling; @ transactiontarget transaktion transaktion @ suppresswarnings ("lov") offentlig liste < student > getstudents() (liste < student > studerende = nye arraylist < student > (); prøve (studerende = samling. createquery ("student "). list();} fangst (undtagen e) (f. printstacktrace();} tilbage studerende;} offentlige tomrum addstudent (studerende) {samling. redde (studerende)), studentdao klasse er adgang til data lag for studerende, klasse.det er en liste over alle studerende og metoder for at redde en ny elev rekord. aktion klasse efter fil, addstudentaction.java, definerer vores aktion klasse.vi har to aktionsmetoder her - execute() og liststudents().den execute() metode anvendes til at tilføje nye elev rekord.vi bruger dao er save() metode til at opnå dette.den anden metode, liststudents() anvendes til at liste den studerende.vi bruger dao liste metode til at få en liste over alle elever, pakke com.tutorialspoint.struts2; import java.util.arraylist; import java.util.list; import com.opensymphony.xwork2.actionsupport; import com.opensymphony.xwork2.modeldriven; import com.tutorialspoint.hibernate.student; import com.tutorialspoint.hibernate.studentdao; offentlige klasse addstudentaction udvider actionsupport gennemfører modeldriven < student > (studerende, = nye student(); listen < student > studerende = nye arraylist < student > c); studentdao dao = nye studentdao(); @ tilsidesætte offentlige studerende getmodel() {tilbage studerende;} offentlige snor execute() {dao. addstudent (studerende) tilbage "succes"}offentlige snor liststudents() (studerende = dao. getstudents(); tilbage "succes"} offentlige studerende getstudent() {tilbage studerende;} offentlige tomrum setstudent (studerende) (this.student = studerende;} offentlig liste < student > getstudents() {tilbage studerende;} offentlige tomrum setstudents (liste < student > studerende) (this.students = studerende), vil de bemærke, at vi gennemfører den modeldriven grænseflade.det anvendes, når deres aktion klasse har at gøre med en konkret model klasse (såsom studerende) i modsætning til individuelle egenskaber (såsom firstname, lastname).den modelaware grænseflade skal iværksætte en metode til at vende den model.In our case we are returning the "student" object.,Create view files,Let us now create the ,student.jsp, view file with the following content:, <%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <html> <head> <title>Hello World</title> <s:head /> </head> <body> <s:form action="addStudent"> <s:textfield name="firstName" label="First Name"/> <s:textfield name="lastName" label="Last Name"/> <s:textfield name="marks" label="Marks"/> <s:submit/> <hr/> <table> <tr> <td>First Name</td> <td>Last Name</td> <td>Marks</td> < /tr > < iterator værdi = "studerende" > < tr > < td > < værdien = "firstname" /> < /td > < td > < værdien = "lastname" /> < /td > < td > < værdien = "mærker" /> < /td > < /tr > < (e): iterator > < /tabel > < /s: form > < /organ > < /html >, student.jsp er ret ligetil.i den øverste del, vi har en form, som hævder, at "addstudent. handling".det tager i firstname, lastname og varemærker.fordi addstudent aktion er bundet til modelaware "addsudentaction" automatisk en elev bean vil blive oprettet med værdier for firstname, lastname og mærker auto befolkede. nederst i afsnit, vi går gennem studerende liste (se addstudentaction. java).vi iterate listen igennem og vise de værdier for fornavn, efternavn og mærker på et bord., stivere konfiguration, lad os sætte det hele sammen med, stivere. xml,:, <?xml - version = "0" kodning = "utf - 8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.devMode" value="true" /> <package name="myhibernate" extends="hibernate-default"> <action name="addStudent" method="execute" class="com.tutorialspoint.struts2.AddStudentAction"> <result name="success" type="redirect"> listStudents </result> </action> <action name="listStudents" method="listStudents" class="com.tutorialspoint.struts2.AddStudentAction"> <result name="success">/students.jsp</result> </action> < /pakke > < /stivere >, er det vigtigt at lægge mærke til det her, er, at vores pakke "myhibernate" udvider struts2 misligholdelse pakke kaldet "gå i hi default".vi så erklære to aktioner - addstudent og liststudents.addstudent kalder execute() på addstudentaction klasse, og så på successs, det kalder liststudents aktion metode., liststudent aktion metode, der liststudents() på addstudentaction klasse og bruger student.jsp som opfattelse nu højre klik på projektets navn og klik, export > krig, fil at skabe en krig fil.så anvende denne krig i hankat er webapps fortegnelse.endelig begynder at hankat server og forsøger at få adgang til url: http: //////////////////////localhost: 8080 helloworldstruts2 student.jsp.det her vil give dig efter skærm:,,, i den øverste del, får vi en form for at træde ind i en ny elev rekord og værdier for bunden afsnit indeholder en liste over de studerende i databasen.gå videre og tilføje en ny elev rekord og presse forelægger.skærmen vil opfriske og vise dig en ajourført liste, hver gang du klik forelægge.
stivere 2 og gå i hi integration
Previous:stivere 2 og foråret integration
Next Page:sving tutorielle