В этой статье представлена операция базы данных MySQL Spring Development_JDBC следующим образом:
Структура проекта:
Таблица базы данных:
/spring_1100_spring+jdbc/src/com/b510/bean/person.java
пакет com.b510.bean;/** * Нормальный класс Javabean Person * * @author Hongten * */Public Class Person {/** * Идентификационный номер */private int id; / ** * Имя */ private String name; / ** * Возраст */ частный int age; / ** * Пол */ частный строковый секс; Public Person (INT ID, название строки, int Age, строка Sex) {this.id = id; this.name = name; this.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 (строка Sex) {this.sex = sex; }} /spring_1100_spring+jdbc/src/com/b510/service/personservice.java
пакет com.b510.service; импорт java.util.list; import com.b510.bean.person; personservice personservice { / ** * * Сохранить лицо * * @param * / public rastic void Сохранить (лицо); / ** * Обновление человека * * @param person */ public rable void update (человек); / ** * Получить человека * * @param id * @return */ public abstract getperson (INTEGER ID); / ** * Получите All Person * * @return */ public абстрактный список <person> getPerson (); / ** * Удалить человека с указанным идентификатором * * @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; импорт org.springframework.jdbc.core.jdbctemplate; импорт com.b510.bean.person; импорт com.b510.service.personservice;/** beancior * * * * * * * * * * * * * * * * * * * * Personservicebean реализует Personservice { / ** * Источник данных * / Private DataSource DataSource; / *** JDBC Операция вспомогательный класс, предоставленный весной*/ private jdbctemplate jdbctemplate; // Установить источник данных public void setDataSource (DataSource DataSource) {this.jdbctemplate = new jdbctemplate (dataSource); } public void save (человек человек) {jdbctemplate.update ("вставка в личность (имя, возраст, пол) значения (?,?,?)", новый объект [] {person.getName (), person.getage (), person.getsex ()}, new int [] {java.sql. java.sql.types.varchar}); } public void update (человек человек) {jdbctemplate.update ("Обновление человека набор name =?, age =?, sex =? где id =?", новый объект [] {person.getName (), person.getage (), person.getsex (), person.getid ()}, new int [] {java. java.sql.types.integer, java.sql.types.varchar, java.sql.types.integer}); } public Perform GetPerson (INTEGER ID) {Person Person = (Person) jdbctemplate.queryForObject ("select * из человека, где id =?", новый объект [] {id}, new int [] {java.sql.types.integer}, new Personrowmapper ()); возвращающийся человек; } @Suppresswarnings ("unchecked") public list <dersperse> getperson () {list <person> list = jdbctemplate.query ("select * from person", new personrowmapper ()); вернуть список; } public void delete (integer id) {jdbctemplate.update ("Удалить из человека, где id =?", новый объект [] {id}, new int [] {java.sql.types.integer}); }} /spring_1100_spring+jdbc/src/com/b510/service/impl/personrowmapper.java
package com.b510.service.impl;import java.sql.ResultSet;import java.sql.SQLException;import org.springframework.jdbc.core.RowMapper;import com.b510.bean.Person;public class PersonRowMapper implements RowMapper { @Override public Object mapRow(ResultSet set, int index) throws SQLexception {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.classpathxmlapplication context; import com.b510.bean.person; imporm.b510.service.personservise; main (string [] args) {ApplicationContext act = new ClassPathxMlapplicationContext ("bean.xml"); Лица, сдерживающие лица = (лица) ACT. Getbean ("Personservice"); Человек = новый человек (); Person.setName ("Su Dongpo"); Person.setage (21); Person.setSex («Мужчина»); // Сохранить запись Personservice.save (человек); Список <person1 = personservice.getperson (); System.out.println ("+++++++++ получить всех людей"); Для (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 («Мужчина»); UpdatePerson.setId (5); // Обновление записи Personservice.update (UpdatePerson); System.out.println ("****************** '); // Получить рекордного человека OnePerson = 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 = "http://www.springframe.orshema. xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.spramework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd. http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5. <Bean Id = "DataSource" Dressome-method = "close"> <name = "driverClassname" value = "org.gjt.mm.mysql.driver"/> <name = "url" value = "jdbc: mysql: // localhost: 3307/spring? useUnicode =" jdbc = utf-8 "/> uneremon"/> "/"/"/"/"/"/"/"/"/" "useUnicode = true & farmentEncoding = utf-8"/> <"3307/spring? value = "root" /> <name = "password" value = "root" /> <!-начальное значение, когда запускается пул соединений-> <name = "name =" value = "1" /> <!-Максимальное значение пула соединений-> <name = "maxactive" value = "300" /> <!-Максимальное значение простоя. После пикового времени пул соединений может медленно освободить некоторые неиспользованные соединения и уменьшить их до тех пор, пока Maxidle-> <name = "maxidle" value = "2" /> <!-Минимальное значение простоя. Когда количество холостовых соединений меньше порога, пул соединений будет предварительно нанести нанесение для некоторых соединений, чтобы избежать времени применения, когда наступает пик наводнения-> <name = "minidle" value = "1" /> < /bean> <!-Используйте аннотацию для настройки транзакций. Для менеджера транзакций источника данных введите источник данных, который мы определили в дат данных свойств DataSourCetransActionManager Class-> <Bean id = "txmanager"> <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 Используйте аннотацию @Transaction для использования менеджера транзакций-> <TX: Annotation Transaction-Manager = "TXMANAGER"/> <! DataSource-> <name = name = "dataSource" ref = "dataSource"> </property> </bean> </beans>
Результаты бега;
2012-3-9 23:30:57 org.springframework.context.support.abstractapplication context Подготовка информации: обновляется org.springframework.context.support.classpathxmlapplication context@1a05308: отображать имя. [org.springframework.context.support.classpathxmlapplicationcontext@1a05308]; Дата запуска [пт 09 23:30:57 CST 2012]; Корень контекста иерархия 2012-3-9 23:30:57 org.springframework.beans.factory.xml.xmlbeandefinitionReader LoadBeanDefinitions Информация: Загрузка XML Bean определения из ресурса класса [bean.xml] 2012-3-9 23:30:58 org.springframework.context.support.abstractapplicationContext Получите информация: фабрика бобов для контекста приложения [org.springframework.context.support.classpathxmlapplicationcontext@1a05308]: org.springframework.beans.factory.support.defaultlistablebeanfactory@2bb5142012-3-9 23:30:58 org.springframework.beans.factory.support.defaultablebeanfactor org.springframework.beans.factory.support.defaultlistablebeanfactory@2bb514: определение бобов [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, Personservice]; Корень фабричной иерархии ++++++++++++++.
Конечно, мы можем использовать файлы конфигурации для хранения информации об источнике данных:
/spring_1100_spring+jdbc/src/jdbc.properties
DriverClassName = org.gjt.mm.mysql.driverurl = jdbc/: mysql/: // localhost/: 3307/spring? useUnicode/= true & haremencoding/= utf-8username = 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 = "http://www.springframe.orshema. xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.spramework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd. http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5. jdbc.properties Файл конфигурации-> <Контекст: Property-Placeholder location = "classPath: jdbc.properties" /> <!-Источник данных конфигурации-> <bean id = "dataSource" destry-method = "close"> <свойство name = "verlassname" value = "$ {DriverClassname}" /> <name = "value =" $ value = "ntablass}}" /"value =" natue = "value =" $ "{riverClassname}" /" name = "username" value = "$ {username}" /> <name = "password" value = "$ {пароль}" /> <!-начальное значение, когда пул соединений запускается-> <name = "initialsize" value = "$ {initialSize}" /> <!-Максимальное значение пула соединений-> <properation = "maxActive" value = "$ {$ {$ {$ {$ {$ {mamemax {maxamactive {maxamactive {maxamactive {maxamactive {maxamactive {maxamactive {$ {Mameman? ценить. После пикового времени пул соединений может медленно выпустить часть неиспользованных соединений, уменьшая до Maxidle-> <name = "maxidle" value = "$ {maxidle}" /> <!-Минимальное значение холостого хода. Когда количество холостовых соединений меньше порога, пул соединений будет предварительно нанести на Apply для некоторых соединений, чтобы избежать времени применения, когда наступит пик наводнения-> <name = "minidle" value = "$ {minidle}" /> < /bean> <!-Аннотация использования для настройки транзакций. Для менеджера транзакций источника данных введите источник данных, который мы определили в дат данных свойств DataSourCetransActionManager Class-> <Bean id = "txmanager"> <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 Используйте аннотацию @Transaction для использования менеджера транзакций-> <TX: Annotation Transaction-Manager = "TXMANAGER"/> <! DataSource-> <name = name = "dataSource" ref = "dataSource"> </property> </bean> </beans> Результаты прогона одинаковы:
2012-3-10 0:23:59 org.springframework.context.support.abstractApplicationContext Подготовка информации: обновляется org.springframework.context.support.classpathxmlapplication context@c1b531: отображать имя. [org.springframework.context.support.classpathxmlapplicationcontext@c1b531]; Дата запуска [SAT 10 марта 00:23:59 CST 2012]; Корень контекста иерархия2012-3-10 0:23:59 org.springframework.beans.factory.xml.xmlbeandefinitionReader LoadBeanDefinitions Информация: Загрузка XML Bean определения из ресурса класса [bean.xml] 2012-3-10 0:23:59 org.springframework.context.support.abstractapplicationContext Получите информация: фабрика бобов для контекста приложения [org.springframework.context.support.classpathxmlapplicationcontext@c1b531]: org.springframework.beans.factory.support.defaultlistablebeanfactory@1aa57fb2012-3-10 0:23:59 org.springframework.core.io.support.propertiesloadersupportPorties Информация: Загрузка Свойства из PATHS PATHS [JDB. 0:23:59 org.springframework.beans.factory.support.default stistablebeanfactory preinstantiateSingletons Информация: предварительно-инстанции синглтонов в org.springframework.beans.factory.support.defaultablebeanfactor [org.springframework.beans.factory.config.propertiplaceholderconfigurer#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]; корень фабричной иерархии +++++++++++++++++, получите все люди 2 tomcat 12 самка 3 Hongten 21 мужчина 4 liufang 21 самка
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.