一、添加maven依赖:pom.xml
<dependency>
<groupId>commons-dbutils</groupId>
<artifactId>commons-dbutils</artifactId>
<version>1.6</version>
</dependency>
二、修改beans.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"
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">
<!--获取数据源配置文件-->
<context:property-placeholder location="classpath:db.properties"/>
<!--记载数据源-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${jdbc.driverClass}"/>
<property name="JdbcUrl" value="${jdbc.jdbcUrl}"/>
<property name="user" value="${jdbc.user}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!--配置DbUtils核心运行类queryRunner,注入数据源-->
<bean id="queryRunner" class="org.apache.commons.dbutils.QueryRunner">
<constructor-arg name="ds" ref="dataSource"></constructor-arg>
</bean>
<!--创建userService-->
<bean id="userService" class="com.mollen.service.impl.UserServiceImpl">
<!--添加userDao依赖/seteter依赖注入-->
<property name="userDao" ref="userDao"></property>
</bean>
<!--创建userDao-->
<bean id="userDao" class="com.mollen.dao.impl.UserDaoImpl">
<!--添加queryRunner依赖-->
<property name="queryRunner" ref="queryRunner"></property>
</bean>
</beans>
三、修改UserDaoImpl.java
package com.mollen.dao.impl;
import com.mollen.bean.User;
import com.mollen.dao.UserDao;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.BeanMapHandler;
import java.sql.SQLException;
import java.util.List;
/**
* @ClassName: UserDaoImpl
* @Auther: Mollen
* @CreateTime: 2018-11-05 14:27:37
* @Description:
*/
public class UserDaoImpl implements UserDao {
private QueryRunner queryRunner;
public void setQueryRunner(QueryRunner queryRunner) {
this.queryRunner = queryRunner;
}
@Override
public void addOrSaveUser(User user) {
try {
queryRunner.update( "INSERT INTO user VALUES (null,?,?,?,?)",user.getUsername(),user.getBirthday(),user.getSex(),user.getAddress());
} catch (SQLException e) {
e.printStackTrace();
System.out.println("更新失败!");
}
}
@Override
public void removeUser(Integer id) {
try {
queryRunner.update("DELETE FROM user WHERE id = ?", id);
} catch (SQLException e) {
e.printStackTrace();
System.out.println("删除失败!");
}
}
@Override
public User findById(Integer id){
try {
return queryRunner.query("SELECT * FROM user WHERE id = ?",new BeanHandler<User>(User.class),id);
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
@Override
public List<User> findAll() {
try{
return queryRunner.query("SELECT * FROM user",new BeanListHandler<User>(User.class));
}catch (Exception e){
e.printStackTrace();
return null;
}
}
}