In diesem Artikel wird die in Java entwickelte Spring-Datenbankverbindungsmethode beschrieben. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Schnittstelle:
package cn.com.service; import java.util.List; import cn.com.bean.PersonBean; public void save(PersonBean person); /Get person public PersonBean getPerson(int id); public List<PersonBean> getPersonBean(); //Datensatz löschen public void delete(int personid }
Person Bean-Klasse:
package cn.com.bean; public class PersonBean { private int id; private String name; public PersonBean(String name) { this.name=name } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name;
Schnittstellenimplementierung:
package cn.com.service.impl; import java.sql.DataSource; import org.springframework.jdbc.core.JdbcTemplate; import cn.com.service. PersonService; öffentliche Klasse PersonServiceImpl implementiert PersonService { private JdbcTemplate jdbcTemplate; dataSource) { this.jdbcTemplate = new JdbcTemplate(dataSource); } @Override public void save(PersonBean person) { // TODO Automatisch generierter Methoden-Stub jdbcTemplate.update("insert into person(name) Values(?)", new Object[]{person.getName()}, new int[]{java.sql.Types.VARCHAR}); @Override public void update(PersonBean person) { // TODO Automatisch generierter Methoden-Stub jdbcTemplate.update("update person set name=? where id=?", new Object[]{person.getName(),person.getId( )}, new int[]{java.sql.Types.VARCHAR,java.sql.Types.INTEGER}); @Override public PersonBean getPerson(int id) { // TODO Automatisch generierter Methoden-Stub return (PersonBean)jdbcTemplate.queryForObject("select * from person where id=?", new Object[]{id}, new int[]{java.sql. Types.INTEGER},new PersonRowMapper() ); } @SuppressWarnings("unchecked") @Override public List<PersonBean> getPersonBean() { // TODO Automatisch generierter Methoden-Stub return (List<PersonBean>)jdbcTemplate.query("select * from person", new PersonRowMapper() } @Override public void delete(int personid) { // TODO Automatisch generierter Methoden-Stub jdbcTemplate.update("delete from person where id=?", new Object[]{personid}, new int[]{java.sql.Types.INTEGER});
RowMapper:
package cn.com.service.impl; import java.sql.SQLException; import org.springframework.jdbc.core.RowMapper; public class PersonRowMapper { @ Überschreiben Sie public Object mapRow(ResultSet rs, int index) throws SQLException { // TODO Automatisch generierter Methoden-Stub PersonBean person =new PersonBean(rs.getString("name"));
Beans.xml-Konfiguration
<?xml version="1.0" binding="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.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework .org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.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/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd "> <!-- <context:property-placeholder location="classpath:jdbc.properties"/> --> <Bean-ID ="dataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/wy"/> <property name="username" value="root"/> <!-- Der Anfangswert, wenn der Eigenschaftenpool gestartet wird--> <property name =" Passwort" Wert="123"/> <!-- Verbindungsname="initialSize" Wert="${initialSize}"/>--> <Property Name="initialSize" Wert="1"/> <!-- Der maximale Wert des Verbindungspools--> <property name="maxActive" value="500"/> <!-- Der maximale Leerlaufwert Nach einer Spitzenzeit kann der Verbindungspool langsam aufgebraucht sein . Die eingehende Verbindung wird langsam teilweise freigegeben, bis sie auf maxIdle--> <property name="maxIdle" value="2"/> <!-- reduziert wird. Minimaler Leerlaufwert. Wenn die Anzahl der Leerlaufverbindungen unter dem Schwellenwert liegt, wendet der Verbindungspool vorab einige Verbindungen an, um zu vermeiden, dass sie bei Erreichen des Spitzenwerts nicht angewendet werden können--> <property name="minIdle" value="1 "/> </ bean> <bean id="txManager"> <property name="dataSource" ref="dataSource"/> </bean> <tx:annotation-driven transaction-manager="txManager"/> <bean id="personService"> <property name="dataSource" ref="dataSource"></property> </bean> </beans>
Testklasse:
package Junit.test; import org.junit.BeforeClass; import org.springframework.context.ApplicationContext; import cn.com.bean.PersonBean; import cn.com.service.PersonService; öffentliche Klasse PersonTest2 { private static PersonService personService; @BeforeClass public static void setUpBeforeClass() throws Exception { ApplicationContext act=new ClassPathXmlApplicationContext("beans.xml"); @Test public void save( ) { personService.save(new PersonBean("wyy")); } @Test public void update() { PersonBean person=personService.getPerson(1); person.setName("wy"); personService.update(person } @Test public void getPerson() { PersonBean person=personService.getPerson(1); person.getName()); } @Test public void delete() { personService.delete(1 } }
Datenbank:
Tabelle erstellen CREATE TABLE `person` ( `id` int(11) NOT NULL auto_increment, `name` varchar(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
Ich hoffe, dass dieser Artikel für alle in der Java-Programmierung hilfreich sein wird.