client
package com.qf.client; import com.qf.domain.Xinxi; import com.qf.service.XinxiServiceImpl; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import java.util.Date; import java.util.List; /** * Created by li on 2019/5/17. */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:applicationContext.xml") public class client { @Autowired private XinxiServiceImpl xinxiService; @Autowired public JdbcTemplate jdbcTemplate; @Autowired public Xinxi xinxi; @Test public void testSelect(){ // ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); // XinxiServiceImpl xinxiServiceImpl = classPathXmlApplicationContext.getBean("xinxiServiceImpl", XinxiServiceImpl.class); List<Xinxi> xinxis = xinxiService.selectAll(); for (Xinxi xinxi:xinxis ) { System.out.println(xinxi); } } @Test public void testSelectById(){ Xinxi xinxi = xinxiService.selectById(1); System.out.println(xinxi); } @Test public void testUpdateXinxi(){ xinxi.setId(1); xinxi.setAdress("河南"); xinxi.setAge(30); int i = xinxiService.updateXinxi(xinxi); if (i > 0){ System.out.println("操作成功"); } else{ System.out.println("操作失败"); } } @Test public void testInsertInto(){ xinxi.setName("小恐龙"); xinxi.setAdress("内蒙古"); xinxi.setAge(30); xinxi.setAgender("男"); xinxi.setQq(432444); xinxi.setMail(32322); xinxi.setDate("2019-5-12"); int i = xinxiService.insertInto(xinxi); if (i > 0){ System.out.println("操作成功"); } else{ System.out.println("操作失败"); } } @Test public void testDelete(){ int i = xinxiService.deleteById(4); if (i > 0){ System.out.println("操作成功"); } else{ System.out.println("操作失败"); } } }
XinxiDao
package com.qf.dao; import com.qf.domain.User; import com.qf.domain.Xinxi; import org.springframework.stereotype.Repository; import javax.annotation.Resource; import java.util.List; /** * Created by li on 2019/5/17. */ public interface XinxiDao { List<Xinxi> selectAll(); Xinxi selectById(int id); int updateXinxi(Xinxi xinxi); int insertXinxi(Xinxi xinxi); int delete(int id); }
XinxiDaoImpl
package com.qf.dao; import com.qf.domain.User; import com.qf.domain.Xinxi; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.stereotype.Repository; import java.util.List; /** * Created by li on 2019/5/17. */ @Repository("xinxiDaoImpl") class XinxiDaoImpl implements XinxiDao { // // ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); // JdbcTemplate jdbcTemplate = classPathXmlApplicationContext.getBean( "jdbcTemplate", JdbcTemplate.class); @Autowired public JdbcTemplate jdbcTemplate; public List<Xinxi> selectAll() { List<Xinxi> query = jdbcTemplate.query("select * from xinxi", new BeanPropertyRowMapper<Xinxi>(Xinxi.class)); return query; } public Xinxi selectById(int id) { Xinxi xinxi = jdbcTemplate.queryForObject("select * from xinxi where id = ?", new BeanPropertyRowMapper<Xinxi>(Xinxi.class), id); return xinxi; } public int updateXinxi(Xinxi xinxi) { int update = jdbcTemplate.update("update xinxi set age = ?,adress = ? where id = ?", xinxi.getAge(), xinxi.getAdress(), xinxi.getId()); return update; } public int insertXinxi(Xinxi xinxi) { int update = jdbcTemplate.update("INSERT INTO xinxi VALUE(null,?,?,?,?,?,?,?)", xinxi.getName(), xinxi.getAgender(), xinxi.getAge(), xinxi.getAdress(), xinxi.getQq(), xinxi.getMail(), xinxi.getDate()); return update; } public int delete(int id) { int update = jdbcTemplate.update("DELETE from xinxi WHERE id = ?", id); return update; } }
Xinxi
package com.qf.domain; import org.springframework.stereotype.Component; import java.util.Date; /** * Created by li on 2019/5/17. */ @Component public class Xinxi { private int id; private String name; private String agender; private int age; private String adress; private int qq; private int mail; private String date; public String getDate() { return date; } public void setDate(String date) { this.date = date; } public Xinxi() { } 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 String getAgender() { return agender; } public void setAgender(String agender) { this.agender = agender; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getAdress() { return adress; } public void setAdress(String adress) { this.adress = adress; } public int getQq() { return qq; } public void setQq(int qq) { this.qq = qq; } public int getMail() { return mail; } public void setMail(int mail) { this.mail = mail; } @Override public String toString() { return "Xinxi{" + "id=" + id + ", name='" + name + '\'' + ", agender='" + agender + '\'' + ", age=" + age + ", adress='" + adress + '\'' + ", qq=" + qq + ", mail=" + mail + ", date=" + date + '}'; } }
XinxiService
package com.qf.service; import com.qf.domain.User; import com.qf.domain.Xinxi; import org.springframework.stereotype.Service; import java.util.List; /** * Created by li on 2019/5/17. */ public interface XinxiService { List<Xinxi> selectAll(); Xinxi selectById(int id); int updateXinxi(Xinxi xinxi); int insertInto(Xinxi xinxi); int deleteById(int id); }
XinxiServiceImpl
package com.qf.service; import com.qf.dao.XinxiDao; import com.qf.domain.User; import com.qf.domain.Xinxi; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * Created by li on 2019/5/17. */ @Service public class XinxiServiceImpl implements XinxiService { @Resource(name="xinxiDaoImpl") public XinxiDao xinxiDao; public List<Xinxi> selectAll() { List<Xinxi> xinxis = xinxiDao.selectAll(); return xinxis; } public Xinxi selectById(int id) { Xinxi xinxi = xinxiDao.selectById(id); return xinxi; } public int updateXinxi(Xinxi xinxi) { int i = xinxiDao.updateXinxi(xinxi); return i; } public int insertInto(Xinxi xinxi) { int i = xinxiDao.insertXinxi(xinxi); return i; } public int deleteById(int id) { int delete = xinxiDao.delete(id); return delete; } }
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <!--较之前多了 xmlns:context --> <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" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- bean definitions here --> <!--<bean id="user" class="com.qf.domain.User">--> <!--<constructor-arg name="id" value="1"></constructor-arg>--> <!--<constructor-arg name = "username" value="张三"></constructor-arg>--> <!--<constructor-arg name="userLogin" ref="userLogin"></constructor-arg>--> <!--</bean>--> <!--<bean id="userLogin" class="com.qf.domain.UserLogin">--> <!--<constructor-arg name="type" value="1"></constructor-arg>--> <!--<constructor-arg name="typename" value="汉族"></constructor-arg>--> <!--</bean>--> <!--<bean id="user" class="com.qf.domain.User">--> <!--<property name="id" value="1"></property>--> <!--<property name="username" value="李四"></property>--> <!--<property name="userLogin" ref=""--> <!--</bean>--> <!----> <context:component-scan base-package="com.qf"></context:component-scan> <!--配置jdbcTemplate--> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 配置数据源 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <!--连接数据库的必备信息--> <property name="driverClass" value="com.mysql.jdbc.Driver"></property> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/goods"></property> <property name="user" value="root"></property> <property name="password" value="123456"></property> </bean> </beans>
pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>Spring-day01</groupId> <artifactId>Spring-day01</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.0.5.RELEASE</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> </dependency> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.2</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.0.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.0.2.RELEASE</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> </dependencies> </project>