この記事では、次のように、MySQLデータベースのSpring Development_JDBC操作を紹介します。
プロジェクト構造:
データベーステーブル:
/SPRING_1100_SPRING+JDBC/SRC/COM/B510/BEAN/PERSON.JAVA
パッケージcom.b510.bean;/** *通常のjavabeanクラスの人 * * @author hongten * */public class person {/** * id number */private int id; / ** *名前 */プライベート文字列名; / ** * Age */ Private Int Age; / ** *性別 */プライベートストリングセックス;パブリックパーソン(int id、string name、int age、string sex){this.id = id; this.name = name; this.age = age; 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 age; } public void Setage(int age){this.age = age; } public string getSex(){return sex; } public void setSex(string sex){this.sex = sex; }} /SPRING_1100_SPRING+JDBC/src/com/b510/service/personservice.java
パッケージcom.b510.service; import java.util.list; import com.b510.bean.person; public interface personservice { / ** * save person * * @param person * / public abstract void save(person person); / ** *更新者 * * @param person */ public abstract void update(person person); / ** * get person * * @param id * @return */ public Abstract Person getPerson(integer ID); / ** *すべての人を取得 * * @return */ public abstract list <serson> getPerson(); / ** *指定されたIDでその人を削除 * * @Param ID */ public Abstract void delete(integer id);} /SPRING_1100_SPRING+JDBC/SRC/COM/B510/SERVICE/IMPL/PERSONSERVICEBEAN.JAVA
パッケージcom.b510.service.impl; import java.util.list; import javax.sql.datasource; import org.springframework.jdbc.core.jdbctemplate; import com.b510.bean.person; import com.b510.service.service; perservice; PersonServiceBeanはPersonService { / ** *データソース * / private DataSource DataSource; / *** JDBC操作補助クラスSpring*/ private JDBCTEmplate JDBCTEMPLATE; //データソースの公開void setDataSource(dataSource dataSource){this.jdbctemplate = new JDBCTEMPLATE(DataSource); } public void save(person person){jdbctemplate.update( "inserting into person(name、age、sex)values(?、?、?)"、new object {person.getname()、person.getage()、person.getsex()}、new int [] {java.sql.types.types.varchar、java、sql.tecl.tecl.tyのjava.sql.types.varchar}); } public void update(person person){jdbctemplate.update( "Update Person set name =?、age =?、sex =?where id =?"、new object {person.getname()、person.getage()、person.getsex()、person.getid()}、new int [ java.sql.types.integer、java.sql.types.varchar、java.sql.types.integer}); } public Person getPerson(integer id){person person =(person)jdbctemplate.queryforobject( "select * from person where id =?"、new obje。返品者; } @suppresswarnings( "Unchecked")public list <serson> getPerson(){list <serson> list = jdbctemplate.query( "select * from person"、new personrowmapper());返品リスト。 } public void delete(integer id){jdbctemplate.update( "id =?"、new object [] {] {id}、new int [] {java.sql.types.integer}); }} /SPRING_1100_SPRING+JDBC/SRC/COM/B510/SERVICE/IMPL/PERSONROWMAPPER.JAVA
パッケージcom.b510.service.impl;インポートjava.sql.resultset; Import java.sql.sqlexception; import org.springframework.jdbc.core.rowmapper; import com.b510.bean.person; peructride indexter {@OverrideRide strems empter sthride compache {person person = new person(set.getint( "id")、set.getString( "name")、set .getint( "age")、set.getString( "sex"));返品者; }} /SPRING_1100_SPRING+JDBC/src/com/b510/test/springjdbctest.java
パッケージcom.b510.test; import java.util.list; import org.springframework.context.applicationcontext; import org.springframework.context.support.classpathcontext; Import com.b510.bean.persers; static void main(string [] args){applicationContext act = new ClassPathxMLApplicationContext( "bean.xml"); personService personService =(personService)act .getBean( "personservice");人の人= new Person(); person.setname( "su dongpo"); Person.Setage(21); person.setsex( "MALE"); //レコードを保存するpersonservice.save(person);リスト<パーソン> person1 = personservice.getPerson(); System.out.println( "+++++++++すべての人を取得"); for(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( "MALE"); updatePerson.SetID(5); //レコードPersonService.update(updatePerson)を更新します。 System.out.println( "******************"); //記録的な人を取得onePerserson = personservice.getPerson(2); System.out.println(onePerson.getId() + "" + onePerson.getName() + "" + onePerson.getAge() + "" + onePerson.getSex()); //レコードPersonService.Delete(1)を削除します。 }} /SPRING_1100_SPRING+JDBC/SRC/BEAN.XML
<?xml version = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns:xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns:Context = "http://www.springframework.org/schema/context" xmlns:aop = "http://www.springframework.org/schema/aop" xmlns:tx = " xsi:schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www. http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/spring--1.5.5.x. http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/ソース - > <bean id = "dataSource" Destroy-method = "close"> <プロパティ名= "driverclassname" value = "org.gjt.mm.m.mysql.driver"/> <プロパティ名= "url"値= " value = "root" /> <プロパティ名= "パスワード" value = "root" /> <! - 接続プールが開始されたときの初期値 - > <プロパティname = "hiantsize" value = "1" /> <! - 接続プールの最大値 - > <プロパティ "値=" 300 " /> <! - 最大アイドル値。ピーク時間の後、接続プールは未使用の接続の一部をゆっくりと放出し、maxidleまで - > <プロパティ名= "maxidle" value = "2" /> <! - 最小アイドル値になるまでそれらを減らすことができます。アイドル接続の数がしきい値よりも少ない場合、接続プールは、洪水ピークが来るときに適用される時間を避けるために、いくつかの接続のために事前に適用されます - > <プロパティ名= "minidle" value = "1" /> < /bean> <! - アノテーションを使用してトランザクションを構成します。データソースのトランザクションマネージャーの場合、DataSourcetransactionManagerクラスのプロパティデータソースに定義したデータソースを注入します - > <bean id = "txmanager"> <プロパティ名= "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 @transaction annotationを使用してトランザクションマネージャーを使用します - > <tx:annotation-driven transaction-manager = "txmanager"/>> <! - service beant "> <プロパティDataSourceへのソース - > <プロパティ名= "DataSource" ref = "dataSource"> </property> </bean> </beans>
実行結果。
2012-3-9 23:30:57 org.springframework.context.support.abstractapplicationcontext preparerefresh情報:reghing org.springframework.context.support.classpathxmlapplicationcontext@1A05308:名前を表示します[org.springframework.context.support.classpathxmlapplicationcontext@1a05308];起動日[金曜日09 23:30:57 CST 2012];コンテキストのルートhierarchy2012-3-9 23:30:57 org.springframework.beans.factory.xml.xml.xml.xml.xml.definitionReader loadbeandefinitions情報:クラスパスリソース[bean.xml] 2012-3-9からxml bean定義を読み込むorg.springframework.context.support.abstractapplicationcontextの取得freshbeanfactory情報:アプリケーションコンテキストのBean Factory [org.springframework.context.support.classpathxmlapplicationcontext@1A05308]: springframework.beans.factory.support.defaultlistablebeanfactory@2bb55142012-3-9 23:30:58 org.springframework.beans.factory.support.defaultlistablebeanactory preintantiates-restons Informents:instantiating instantiating singletons org.springframework.beans.factory.support.defaultlistablebeanfactory@2bb514:豆の定義[DataSource、Txmanager、org.springframework.aop.config.internalautoproxycreator、org.springframework.transaction.annotation.annotationtransactionatttributesour Ce#0、org.springframework.transaction.interceptor.transactioninterceptor#0、org.springframework.transaction.config.internaltransactionadvisor、personService];工場階層++++++++++++++++++++++++++++++++++++++++++++++++++21トムキャット12女性
もちろん、構成ファイルを使用してデータソース情報を保存できます。
/SPRING_1100_SPRING+JDBC/SRC/JDBC.PROPERTIES
DriverClassName = org.gjt.mm.m.mysql.driverurl = jdbc/:mysql/:// localhost/:3307/spring?useunicode/= true&charaterencoding/= utf-8username = rootpassword = rootpassword = rootinitialsize = 1maxactive = 300maxidle = 2minidle = 1
それに対応して変更:
/SPRING_1100_SPRING+JDBC/SRC/BEAN.XML
<?xml version = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns:xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns:Context = "http://www.springframework.org/schema/context" xmlns:aop = "http://www.springframework.org/schema/aop" xmlns:tx = " xsi:schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www. http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/spring--1.5.5.x. http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/ jdbc.properties Configurationファイル - > <コンテキスト:プロパティプレイスホルダーlocation = "classpath:jdbc.properties" /> <! - 構成データソース - > <bean id = "datasource" destroy-method = "close"> <プロパティ名= "driverclassname" value = "$ {driverclassname}" <プロパティ名= "username" value = "$ {username}" /> <property name = "password" value = "$ {password}" /> <! - 接続プールが起動するときの初期値 - > <プロパティ名= "イニシャルサイズ"値= "$ {イニシャルサイズ}" />> <アイドル値。ピーク時間の後、接続プールは未使用の接続の一部をゆっくりと放出し、maxidle-> <プロパティname = "maxidle" value = "$ {maxidle}" /> <! - 最小アイドル値まで減少します。アイドル接続の数がしきい値よりも少ない場合、接続プールは、洪水ピークが来るときに適用される時間を避けるために、いくつかの接続に事前に適用されます - > <プロパティ名= "Minidle" value = "$ {minidle}" /> < /bean> <データソースのトランザクションマネージャーの場合、DataSourcetransactionManagerクラスのプロパティデータソースに定義したデータソースを注入します - > <bean id = "txmanager"> <プロパティ名= "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 @transaction annotationを使用してトランザクションマネージャーを使用します - > <tx:annotation-driven transaction-manager = "txmanager"/>> <! - service beant "> <プロパティDataSourceへのソース - > <プロパティ名= "DataSource" ref = "dataSource"> </property> </bean> </beans>実行の結果は同じです:
2012-3-10 0:23:59 org.springframework.context.support.abstractapplicationcontext preparerefresh情報:reshing org.springframework.context.support.classpathxmlapplicationcontext@c1b531:名前を表示します[org.springframework.context.support.classpathxmlapplicationcontext@c1b531];起動日[3月10日SAT 00:23:59 CST 2012];コンテキストのルートhierarchy2012-3-10 0:23:59 org.springframework.beans.factory.xml.xml.xml.xml.definitionReader loadbeandefinitions情報:クラスパスリソース[Bean.xml] 2012-3-10からXML Bean定義のロードorg.springframework.context.support.abstractapplicationcontextの取得freshbeanfactory情報:アプリケーションコンテキストのBean Factory [org.springframework.context.support.classpathxmlapplicationcontext@c1b531]: org.springframework.beans.factory.support.defaultlistablebeanfactory@1aa57fb2012-3-10 0:23:59 org.springframework.core.io.support.suptort.propertiesloadersupport loadporties loadporties情報0:23:59 org.springframework.beans.factory.support.defaultlistablebeanfactory preintantiatesingletons情報:org.springframework.beans.factory.Support.DefaultableListableBeanFactory@1AA57FB:BEANSを決定する[org.springframework.beans.factory.config.propertyplaceholderconfigurer#0、datasource、txmanager、org.springframework.config.internalautoxycreator、org.springframework.notati on.AnnotationTransactionAttributesource#0、org.springframework.transaction.interceptor.transactionInterceptor#0、org.springframework.transaction.config.internaltransactionadvisor、personService];工場階層++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 21人男性4 liufang 21女性5分割20男性6ジョーン20女性7 su dongpo 21男性8 su dongpo 21男性
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。