Artikel ini memperkenalkan operasi Spring Development_JDBC dari database MySQL, sebagai berikut:
Struktur Proyek:
Tabel Basis Data:
/spring_1100_spring+jdbc/src/com/b510/bean/person.java
Paket com.b510.bean;/** * orang kelas javabean normal * * @author hongten * */orang kelas publik {/** * Nomor ID */private int id; / ** * Nama */ nama string privat; / ** * Usia */ usia int privat; / ** * jenis kelamin */ seks pribadi; orang publik (int id, nama string, usia int, string sex) {this.id = id; this.name = name; this.age = usia; this.sex = seks; } Public Person () {} public int getId () {return id; } public void setid (int id) {this.id = id; } public string getName () {return name; } public void setName (name string) {this.name = name; } public int getage () {usia kembali; } public void setage (int usia) {this.age = usia; } 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; impor com.b510.bean.person; antarmuka publik Personservice { / ** * Simpan orang * * @param orang * / abstrak publik void save (orang orang); / ** * Perbarui orang * * @param orang */ pembaruan abstrak abstrak publik (orang orang); / ** * Dapatkan orang * * @param id * @return */ public abstrak orang Getperson (Integer ID); / ** * Dapatkan semua orang * * @return */ Daftar abstrak publik <son> getPerson (); / ** * Hapus orang dengan ID yang ditentukan * * @param ID */ public abstract void delete (integer id);} /spring_1100_spring+jdbc/src/com/b510/service/impl/personserviceBean.java
Paket com.b510.service.impl; impor java.util.list; impor javax.sql.datasource; impor org.springframework.jdbc.core.jdbctemplate; com.b510.bean.person; impor com.b510.service.personService. PersonserviceBean mengimplementasikan Personservice { / ** * Sumber Data * / Private DataSource DataSource; / *** JDBC Operasi kelas tambahan yang disediakan oleh Spring*/ Private JDBCtemplate JDBCtemplate; // Atur sumber data public void setDataSource (DataSource DataSource) {this.jdbctemplate = new jdbctemplate (DataSource); } public void save (orang orang) {jdbctemplate.update ("Sisipkan ke orang (nama, usia, jenis kelamin) nilai (?,?)", objek baru [] {person.getname (), orang. java.sql.types.varchar}); } pembaruan public void (orang orang) {jdbctemplate.update ("Perbarui orang set nama =?, usia =?, sex =? Di mana id =?", objek baru [] {person.getname (), orang. java.sql.types.integer, java.sql.types.varchar, java.sql.types.integer}); } orang publik getperson (integer id) {person person = (orang) jdbctemplate.queryForObject ("pilih * dari orang di mana id =?", objek baru [] {id}, int int [] {java.sql.types.integer}, new personrowMapper ()); orang yang kembali; } @SuppressWarnings ("Uncecked") Daftar Publik <Fon> getPerson () {List <Fon> List = JDBCtemplate.Query ("Select * From Person", New PersonrowMapper ()); daftar pengembalian; } public void delete (integer id) {jdbctemplate.update ("hapus dari orang di mana id =?", objek baru [] {id}, int baru [] {java.sql.types.integer}); }} /spring_1100_spring+jdbc/src/com/b510/service/impl/personrowmapper.java
Paket com.b510.service.impl; impor java.sql.resultset; impor java.sql.sqlexception; impor org.springframework.jdbc.core.rowmapper; impor com.b510.bean. orang = orang baru (set.getInt ("id"), set.getString ("name"), atur .getInt ("usia"), set.getString ("sex")); orang yang kembali; }} /spring_1100_spring+jdbc/src/com/b510/test/springjdbctest.java
Paket com.b510.test; import java.util.list; impor org.springframework.context.applicationContext; impor org.springframework.context.support.classpathxMlicationContext; com.b510.bean.person; impor com.b510 static void main (string [] args) {applicationContext Act = new ClassPathXMLapPlicationContext ("bean.xml"); Personservice Personservice = (Personservice) Act .getBean ("Personservice"); Orang orang = orang baru (); person.setname ("su dongpo"); orang.setage (21); orang.setsex ("pria"); // simpan rekaman Personservice.Save (orang); Daftar <Son> person1 = Personservice.getPerson (); System.out.println ("+++++++++ Dapatkan semua orang"); untuk (orang person2: person1) {System.out.println (person2.getId () + "" + person2.getname () + "" + person2.getage () + "" + person2.getsex ()); } Orang updatePerson = orang baru (); updatePerson.setname ("Divide"); updatePerson.setage (20); updatePerson.setsex ("pria"); updatePerson.setid (5); // Perbarui rekaman Personservice.update (UpdatePerson); System.out.println ("****************"); // Dapatkan orang rekaman OnePerson = Personservice.getperson (2); System.out.println (oneperson.getId () + "" + oneperson.getname () + "" + oneperson.getage () + "" + oneperson.getsex ()); // hapus rekor Personservice.delete (1); }} /spring_1100_spring+jdbc/src/bean.xml
<? XML Versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmls xmlns: context = "http://www.springframework.org/schema/context" xmlns: aop = "http://www.springframework.org/schema/aop" xmlns: tx = "http:/schema/aop" xmlns: tx = "http:/schema.aop" XSI: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-weans-2.4.xsd http:/wwww.spramorker http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/aop:aop: http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http:/www.spramework.org/schema/tx.tx.spramework.org/schema/tx <bean id="dataSource" destroy-method="close"> <property name="driverClassName" value="org.gjt.mm.mysql.Driver" /> <property name="url" value="jdbc:mysql://localhost:3307/spring?useUnicode=true&characterEncoding=UTF-8" /> <property name="username" value = "root" /> <name properti = "kata sandi" value = "root" /> <!-Nilai awal saat kumpulan koneksi dimulai-> <name properti = "inisialisasi" value = "1" /> <!-Nilai maksimum dari kumpulan koneksi-> <nama properti = "maxactive" value = "300" /> <!-nilai idle maksimum. Setelah waktu puncak, kumpulan koneksi secara perlahan dapat melepaskan beberapa koneksi yang tidak digunakan dan menguranginya sampai maxidle-> <name properti = "maxidle" value = "2" /> <!-nilai idle minimum. Ketika jumlah koneksi idle kurang dari ambang batas, kumpulan koneksi akan berlaku untuk beberapa koneksi untuk menghindari waktu yang diterapkan ketika puncak banjir datang-> <nama properti = "minidle" value = "1" /> < /bean> <!-Gunakan anotasi untuk mengonfigurasi transaksi. Untuk manajer transaksi sumber data, suntikkan sumber data yang kami tentukan ke dalam sumber data properti dari kelas DataSourCetransActionManager-> <bean id = "txManager"> <name properti = "DataSource" ref = "DataSource" /> </ bean> <!-memperkenalkan namespace: nameSource: 1.xmlns: tx = "http://www.springframework.org/schema/tx 2.http: //www.springframework.org/schema/tx http://www.spramework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd Gunakan anotasi @transaction untuk menggunakan manajer transaksi-> <tx: anotasi yang digerakkan oleh! DataSource-> <name properti = "DataSource" Ref = "DataSource"> </prop Property> </bean> </tean>
Hasil berjalan;
2012-3-9 23:30:57 org.springframework.context.support.AbstractApplicationContext PrepareFresh Informasi: Refreshing org.springframework.context.support.classpathxmlappLicationContext@1a05308: tampilan nama [org.springframework.context.support.classpathxmlappLicationContext@1A05308]; Tanggal Startup [Jumat 09 Mar 23:30:57 CST 2012]; Root of Context Hierarchy2012-3-9 23:30:57 org.springframework.beans.factory.xml.xmlbeandfinitionReader LoadBeandefinitions Informasi: Memuat Definisi Kacang XML dari Kelas Sumber Daya Kelas [Bean.xml] 2012-3-9 23:30:30:58.58 org.springframework.context.support.AbstractApplicationContext mendapatkan informasifactory Informasi: pabrik kacang untuk konteks aplikasi [org.springframework.context.support.classpathxmlappLicationContext@1a05308]: org.springframework.beans.factory.support.defaultlistableBeanfactory@2bb5142012-3-9 23:30:58 org.springframework.beans.factory.support.defaultListableBeanFactory preinstanty-informon-informon. org.springframework.beans.factory.support.defaultlistableBeanFactory@2bb514: mendefinisikan kacang [DataSource, txManager, org.springframework.aop.config.internalautoproxycreator, org.springframework.transaction.annotation.AnnotationTransactionattributsour CE#0, org.springframework.transaction.interceptor.transactionInterceptor#0, org.springframework.transaction.config.internaltransactionAdvisor, Personservice]; Root of Factory Hierarchy ++++++++++++ Dapatkan semua orang2 tomcat 12 betina 3 hongten 21 jantan 4 liufang 21 betina 5 membagi 20 pria 6 jone 20 betina 7 su dongpo 21 jantan ********************** 2 tomcat 12 wanita
Tentu saja, kami dapat menggunakan file konfigurasi untuk menyimpan informasi sumber data kami:
/spring_1100_spring+jdbc/src/jdbc.properties
driverClassName=org.gjt.mm.mysql.Driverurl=jdbc/:mysql/://localhost/:3307/spring?useUnicode/=true&characterEncoding/=UTF-8username=rootpassword=rootinitialSize=1maxActive=300maxIdle=2minIdle=1
Sejalan dengan memodifikasi:
/spring_1100_spring+jdbc/src/bean.xml
<? XML Versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmls xmlns: context = "http://www.springframework.org/schema/context" xmlns: aop = "http://www.springframework.org/schema/aop" xmlns: tx = "http:/schema/aop" xmlns: tx = "http:/schema.aop" XSI: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-weans-2.4.xsd http:/wwww.spramorker http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/aop:aop: http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.spramework.org/schema/tx jdbc.properties file konfigurasi-> <konteks: properti-placeHolder location = "classpath: jdbc.properties" /> <!-Sumber data konfigurasi-> <bean id = "dataSource" destroy-Method = "tutup"> <nama properti = "driverclassname" value = "$ {$ {$ {" $ " <property name="username" value="${username}" /> <property name="password" value="${password}" /> <!-- Initial value when the connection pool starts --> <property name="initialSize" value="${initialSize}" /> <!-- Maximum value of the connection pool --> <property name="maxActive" value="${maxActive}" /> <!-- Maximum nilai idle. Setelah waktu puncak, kumpulan koneksi secara perlahan dapat melepaskan bagian dari koneksi yang tidak digunakan, mengurangi sampai maxidle-> <name properti = "maxidle" value = "$ {maxidle}" /> <!-nilai idle minimum. Ketika jumlah koneksi idle kurang dari ambang batas, kumpulan koneksi akan berlaku untuk beberapa koneksi untuk menghindari waktu yang diterapkan ketika puncak banjir datang-> <nama properti = "minidle" value = "$ {minidle}" /> </ bean> <!-gunakan annotasi untuk mengkonfigurasi transaksi. Untuk manajer transaksi sumber data, suntikkan sumber data yang kami tentukan ke dalam sumber data properti dari kelas DataSourCetransActionManager-> <bean id = "txManager"> <name properti = "DataSource" ref = "DataSource" /> </ bean> <!-memperkenalkan namespace: nameSource: 1.xmlns: tx = "http://www.springframework.org/schema/tx 2.http: //www.springframework.org/schema/tx http://www.spramework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd Gunakan anotasi @transaction untuk menggunakan manajer transaksi-> <tx: anotasi yang digerakkan oleh! DataSource-> <name properti = "DataSource" Ref = "DataSource"> </prop Property> </bean> </tean> Hasil menjalankannya sama:
2012-3-10 0:23:59 org.springframework.context.support.AbstractApplicationContext PrepareFresh Informasi: Refreshing org.springframework.context.support.classpathxmlappLicationContext@c1b531: tampilan nama [org.springframework.context.support.classpathxmlappLicationContext@c1b531]; Tanggal Startup [Sabtu 10 Maret 00:23:59 CST 2012]; Root of Context Hierarchy2012-3-10 0:23:59 org.springframework.beans.factory.xml.xmlbeandefinitionReader LoadBeandefinitions Informasi: Memuat Definisi Kacang XML dari Sumber Daya Kelas [Bean.xml] 2012-3-10 0:23:23:23:23:23:23:23:23:23:23:23:23:23:2.5:23:2.5:23:23:22 org.springframework.context.support.AbstractApplicationContext mendapatkan informasiFactory Informasi: pabrik kacang untuk konteks aplikasi [org.springframework.context.support.classpathxmlappLicationContext@c1b531]: org.springframework.beans.factory.support.defaultlistableBeanfactory@1aa57fb2012-3-10 0:23:59 org.springframework.core.io.support.propertiesLoaderSupport Information.springframework.core.o.support.propertiesLoaderSupport.sproperies Informasi: Loading Path dari CLUPERCECREDSUPTIES: LOADINGCECTIES: LOADINGE POTROPOR.SUPPORCE.SUPPORCECCEST. 0:23:59 org.springframework.beans.factory.support.DefaultListableBeanFactory PreINSTICATICINGETONS INFORMASI: pra-instansiasi singleton di org.spramework.beans.factory.support.defaultlistableBeanFactory@1aaa.factory.support.defaultListableBeAnfactory@[email protected] [org.springframework.beans.factory.config.propertyplaceHolderConfigurer#0, DataSource, TXManager, org.springframework.aop.config.internalautoproxycreator, org.springframework.transaction.annoTati on.annotationTransactionattributeSource#0, org.springframework.transaction.interceptor.transactionInterceptor#0, org.springframework.transaction.config.internaltransactionAdvisor, Personservice]; Root of Factory Hierarchy ++++++++++++++ Dapatkan semua orang2 tomcat 12 betina 3 hongten 21 jantan 4 liufang 21 betina 5 membagi 20 pria 6 jone 20 betina 7 su dongpo 21 jantan 8 su dongpo 21 jantan *************************************2 TOMCAT 12 betina
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.