In diesem Artikel wird wie folgt die Operation von Spring Development_JDBC der MySQL -Datenbank vorgestellt:
Projektstruktur:
Datenbanktabelle:
/spring_1100_spring+jdbc/src/com/b510/bean/person.java
Paket com.b510.bean;/** * Normale JavaBean -Klasse Person * * @author Hongen * * */public class Person {/** * ID -Nummer */private int id; / ** * Name */ privater Zeichenfolge Name; / ** * Alter */ privates Alter; / ** * Geschlecht */ privater String Sex; public person (int id, string name, int alter, string sex) {this.id = id; this.name = name; this.age = Alter; this.sex = sex; } public Person () {} public int getId () {return id; } public void setId (int id) {this.id = id; } public String getName () {return name; } public void setName (String -Name) {this.name = name; } public int getage () {return ay; } public void setage (int age) {this.age = älter; } public String getSex () {Return Sex; } public void setsex (String sex) {this.sex = sex; }} /spring_1100_spring+jdbc/src/com/b510/service/personservice.java
Paket com.b510.service; import java.util.list; import com.b510.bean.person; public interface personSservice { / ** * Person rette * * @param Person * / public abstract void Save (Person Person); / ** * Person aktualisieren * * @param Person */ public abstract void Update (Person Person); / ** * Get Person * * @param id * @return */ public abstract Person getPerson (Integer id); / ** * Holen Sie sich alle Person * * @return */ public abstract List <Person> getPerson (); / ** * Löschen Sie die Person mit der angegebenen ID * * @param id */ public abstract void delete (Integer id);} /spring_1100_spring+jdbc/src/com/b510/service/impl/personservicebean.java
Paket com.b510.service.impl; import java.util.list; import javax.sql.dataSource; importieren org.springframework.jdbc.core.jdbctemplate; com.b510.bean.person; com.b510.service.perservice; PersonSservicebean implementiert personSservice { / ** * Datenquelle * / private dataSource dataSource; / *** JDBC Operation Auxiliary -Klasse von Spring*/ privat jdbctemplate jdbctemplate; // Setzen Sie die Datenquelle public void setDataSource (DataSource DataSource) {this.jdbctemplate = new JDBCTEMPLET (DataSource); } public void Save (Person Person) {jdbctemplate.update ("In Person (Name, Alter, Sex) Werte (?,?,?)", New Object [] {Person.getName (), Person.getage (), person.getSex ()}, New int [] {java.sql.types.varchar, java.sql.types.varchar, java.sql.types.varchar, java.sql.sql.types.varchar, java.sql.sql.types.varchar, java.sql.sql.types.varchar, java.sql.sql.types.varchar, java.sql.sql.types.varchar, java.sql.tges.varchar, java.sql.sql. java.sql.types.varchar}); } public void update (Person Person) {jdbctemplate.update ("Personal set name =? java.sql.types.ineger, java.sql.types.varchar, java.sql.types.Ineger}); } public person getPerson (Integer id) {Person person = (Person) jdbctemplate.QueryForObject ("SELECT * von Person wobei id =?", New Object [] {id}, new int [] {java.sql.types.Integer}, new personRowmapper ()); Rückkehr Person; } @SuppressWarnings ("Deaktiviert") publiclist <person> getPerson () {list <Person> list = jdbctemplate.query ("aus der Person auswählen", New PersonRowMapper ()); Rückgabeliste; } public void delete (Integer id) {jdbCtemplate.update ("von Person löschen wobei ID =?", New Object [] {ID}, New int [] {java.sql.types.InEger}); }} /spring_1100_spring+jdbc/src/com/b510/service/impl/personrowmapper.java
Paket com.b510.service.impl; importieren java.sql.resultset; import java.sql.sqlexception; import org.springframework.jdbc.core SQLEXception {Person person = new Person (set.getInt ("id"), set.getString ("name"), set .getInt ("Alter"), set.getString ("sex")); Rückkehr Person; }} /spring_1100_spring+jdbc/src/com/b510/test/springjdbctest.java
Paket com.b510.test; import java.util.list; import org.springframework.context.applicationContext; import org.springframework void main (string [] args) {applicationContext act = new classPathXmlApplicationContext ("bean.xml"); PersonSservice personSservice = (personSservice) Act .getbean ("personSservice"); Person Person = New Person (); Person.SetName ("Su Dongpo"); Person.Setage (21); Person.SetSex ("männlich"); // einen Datensatz speichern. Liste <Person> person1 = personSservice.getPerson (); System.out.println ("+++++++ Get All Personen"); für (Person Person2: Person1) {System.out.println (person2.getId () + "" + person2.getName () + "" + person2.getage () + "" + person2.getSex ()); } Person updatePerson = new Person (); updatePerson.setName ("divide"); UpdatePerson.Setage (20); updatePerson.setSex ("männlich"); updatePerson.setId (5); // Aktualisieren Sie einen Record PECTORService.Update (Updateperson); System.out.println ("******************); // eine Datensatzperson oneperson = personSservice.getPerson (2) erhalten; System.out.println (OnePerson.getId () + "" + OnePerson.getName () + "" + OnePerson.getage () + "" + OnePerson.getSex ()); // einen Datensatz löschen. Delete (1); }} /spring_1100_spring+jdbc/src/bean.xml
<? xmlns: context = "http://www.springframework.org/schema/context" xmlns: aop = "http://www.spingframework.org/schwa XSI: ScheMalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/contex http://www.springframework.org/schema/context/spring-context-2.xsd http://www.springFramework.org/schema/aop http://www.springframework.org/Schema/aop/aPring-aop-2.-- http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springFramework.org/schema/tx http://www.springframework.org/schema/tx/sping-tx/sping-tx-tx-2.5.5.1.1!-- <bean id = "dataSource" Destroy-method = "close"> <Eigenschaft name = "TRAVERCLASSNAME" value = "org.gjt.mm.mysql.driver value = "root" /> <Eigenschaft name = "kennwort" value = "root" /> <!-Anfangswert Wenn der Verbindungspool gestartet wird-> <Eigenschaft name = "initialSize" value = "1" /> <!-Maximaler Wert des Verbindungspools-> <Eigenschaft Name = "MaxActive" value = "300" /> <!-Maximaler Leerlaufwert. Nach einer Spitzenzeit kann der Verbindungspool einige der nicht verwendeten Verbindungen langsam loslassen und sie reduzieren, bis Maxidle-> <Eigenschaft name = "maxidle" value = "2" /> <!-Minimaler Leerlaufwert. Wenn die Anzahl der Leerlaufverbindungen geringer ist als der Schwellenwert, wird der Verbindungspool für einige Verbindungen vorangetrieben, um zu vermeiden, dass die Zeit für die Bewerbung angewendet wird. Für den Transaktionsmanager der Datenquelle injizieren Sie die Datenquelle, die wir in die Eigenschaftsdatenquelle der DataSourcetRansActionManager-Klasse-> <bean id = "TxManager"> <Eigenschaft name = "DataSource" Ref = "DataSource" /> < /bean> <! 1.xmlns: tx = "http://www.springframework.org/schema/tx 2.http: //www.springframework.org/schema/tx http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd Verwenden Sie die @Transaction-Annotation, um den Transaktionsmanager zu verwenden-> <tx: Annotationsmarke-Quellen-Quellen-Quellen-QUELLE-VORSONSACTION-MANAGE = "TXMANAGER"/> <!-Service BOANS: PURSService-Datentaten: PURSONService-Daten in Bezug: PerssonService-Datei-> <Bean id = "-Pentire-danse-service-datenbean->; DataSource-> <Eigenschaft name = "dataSource" ref = "dataSource"> </property> </bean> </beans>
Auslaufergebnisse;
2012-3-9 23:30:57 org.springframework.context.support.abstractApplicationContext Vorbereitungsvorräte Informationen: Aktualisieren org.springframework.context.support.classPathxmlapplicationContext@1a05308: Anzeigen von Namensnamen [org.springframework.context.support.classPathXmlApplicationContext@1a05308]; Start -up -Datum [Fr. 09. März 23:30:57 CST 2012]; Wurzel des Kontextes Hierarchy2012-3-9 23:30:57 org.springframework.bean.factory.xml.xmlbeandefinitionReader LoadbeandeFinition Informationen: Laden von XML Bean Definitionen aus der Klassenpfadressource [Bean.xml] 2012-3-9 23:50:58 org.springFramework.context.support.abstractApplicationContext erhaltenen Informationen: Bean Factory for Application Context [org.springframework.context.support.classpathxmlapplicationcontext@1a05308]: org.springframework.bean.factory.support.defaultListableBeanFactory@2bb5142012-3-9 23:30:58 org.springframework org.springframework.beans.factory.support.DefaultListableBeanFactory@2bb514: Definieren von Bohnen [DataSource, TxManager, org.springframework.aop.config.internalautoproxycreator, org.springframework.transaction.annotation.annotationTransactionAttributesour CE#0, org.springframework.transaction.Interceptor.transactionInterceptor#0, org.springframework.transaction.config.internalTransactionAdvisor, personSservice]; Wurzel der Fabrikhierarchie +++++++++ - Get All Person2 Tomcat 12 weiblich 3 Hongen 21 männlich 4 Liufang 21 weiblich 5 Divide 20 männlich 6 Jone 20 weiblich 7 su Dongpo 21 männlich
Natürlich können wir Konfigurationsdateien verwenden, um unsere Datenquelleninformationen zu speichern:
/spring_1100_spring+jdbc/src/jdbc.properties
DriverClassName = org.gjt.mm.mysql.driverurl = jdbc/: mysql/: // localhost/: 3307/fing?
Entsprechend zu modifizieren:
/spring_1100_spring+jdbc/src/bean.xml
<? xmlns: context = "http://www.springframework.org/schema/context" xmlns: aop = "http://www.spingframework.org/schwa XSI: ScheMalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/contex http://www.springframework.org/schema/context/spring-context-2.xsd http://www.springFramework.org/schema/aop http://www.springframework.org/Schema/aop/aPring-aop-2.-- http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/sping-tx JDBC.Properties-Konfigurationsdatei-> <CONTEXT: Property-Placeholder Standort = "ClassPath: jdbc.properties" /> <!-Konfigurationsdatenquelle-> <bean id = "dataSource" Destroy-method = "Close"> <Property name = "TRABRIERCLASSNAME" $ "$ $ {{TRABRIERECLASSNAME}}" /> < <Eigenschaft name = "userername" value = "$ {userername}" /> <Eigenschaft name = "password" value = "$ {password}" /> <!-Anfangswert Wenn der Verbindungspool startet-> <Eigenschaft name = "initialSize" value = "$ {initialSize}" /> <!-Maximum Value der Verbindungspokal-> <'. Wert. Nach einer Spitzenzeit kann der Verbindungspool einen Teil der nicht verwendeten Verbindungen langsam freigeben und sich reduzieren, bis Maxidle-> <Eigenschaft name = "maxidle" value = "$ {maxidle}" /> <!-Minimum im Leerlaufwert. Wenn die Anzahl der Leerlaufverbindungen geringer ist als der Schwellenwert, wird der Verbindungspool für einige Verbindungen vorbereitet, um zu vermeiden, dass die Zeit angewendet wird, wenn der Hochwasserpeak kommt. Für den Transaktionsmanager der Datenquelle injizieren Sie die Datenquelle, die wir in die Eigenschaftsdatenquelle der DataSourcetRansActionManager-Klasse-> <bean id = "TxManager"> <Eigenschaft name = "DataSource" Ref = "DataSource" /> < /bean> <! 1.xmlns: tx = "http://www.springframework.org/schema/tx 2.http: //www.springframework.org/schema/tx http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd Verwenden Sie die @Transaction-Annotation, um den Transaktionsmanager zu verwenden-> <tx: Annotationsmarke-Quellen-Quellen-Quellen-QUELLE-VORSONSACTION-MANAGE = "TXMANAGER"/> <!-Service BOANS: PURSService-Datentaten: PURSONService-Daten in Bezug: PerssonService-Datei-> <Bean id = "-Pentire-danse-service-datenbean->; DataSource-> <Eigenschaft name = "dataSource" ref = "dataSource"> </property> </bean> </beans> Die Laufergebnisse sind gleich:
2012-3-10 0:23:59 org.springframework.context.support.AbstractApplicationContext Vorbereitungsvorbereitungen: Aktualisieren org.springFramework.context.support.classPathXmlApplicationContext@c1b531: Anzeigen von Namensnamen: Anzeige von Namensnamen [org.springframework.context.support.classPathxMlApplicationContext@c1b531]; Start -up -Datum [10. März 00:23:59 CST 2012]; Wurzel des Kontextes Hierarchy2012-3-10 0:23:59 org.springframework.bean.factory.xml.xmlbeandefinitionReader loelbeandefinitionsinformationen: Laden von XML Bean Definitionen aus der Klassenpfad-Ressource [Bean.xml] 2012-3-10 0:23:59 org.springFramework.context.support.abstractApplicationContext erhaltenen Informationen: Bean Factory for Application Context [org.springFramework.context.support.classpathxmlapplicationcontext@c1b531]: org.springframework.beans.factory.support.DefaultListableBeanFactory@1aa57fb2012-3-10 0:23:59 org.springframework.core.io.support.PropertiesLoaderSupport loadProperties information: Loading properties file from class path resource [jdbc.properties]2012-3-10 0:23:59 org.springframework.beans.factory.support.DefaultListableBeanFactory Preinstantiatesingletons Informationen: Voranbau Singletons in org.springframework.bean.factory.support.DefaultListableBeAnfactory@1aa57fb: defining bans [org.springframework.beans.factory.config.propertyPlaPleholderConFigurer#0, DataSource, TxManager, org.springframework.aop.config.internalautoproxyCreator, org.springFramework.transaction.Annotatati ON.AnnotationTransactionAttributesource#0, org.springframework.transaction.Interceptor.transactionInterceptor#0, org.springframework.transaction.config.internalTransactionAdvisor, PETRANSSERVICE]; Wurzel der Fabrikhierarchie ++++++++++ - erhalten Sie alle Person2 Tomcat 12 weiblich 3 Hongen 21 männlich 4 liufang 21 weiblich 5 divide 20 männlich 6 jone 20 weiblich 7 su dongpo 21 männlich 8 su dongpo 21 männlich*
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.