JAVA编程117——commons-dbutils完成 CRUD

一、添加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;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/mollen/article/details/83754159