Spring06

User .java

package com.ygkj.beans;

public class User {

    private Integer id;

    private String userName;

    private String passWord;


    public User(Integer id, String userName, String passWord) {
        this.id = id;
        this.userName = userName;
        this.passWord = passWord;
    }

    public User() {
    }

    public User(String userName, String passWord) {
        this.userName = userName;
        this.passWord = passWord;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassWord() {
        return passWord;
    }

    public void setPassWord(String passWord) {
        this.passWord = passWord;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", userName='" + userName + '\'' +
                ", passWord='" + passWord + '\'' +
                '}';
    }
}

UserConfig.java

package com.ygkj.config;

import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.apache.commons.dbutils.QueryRunner;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

import javax.sql.DataSource;
import java.beans.PropertyVetoException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.SQLFeatureNotSupportedException;
import java.util.logging.Logger;


@Configuration
@ComponentScan("com.ygkj")
@PropertySource("classpath:source/JdbcConfig.properties")
public class UserConfig {
    @Value("${jdbc.driver}")
    private  String driver;
    @Value("${jdbc.url}")
    private  String url;
    @Value("${jdbc.username}")
    private  String username;
    @Value("${jdbc.password}")
    private  String password;

    /**
     *在参数当中的类型 默认使用类型注入 会从容器中去找相同的bean注入
     * 若有相同的bean 则需要使用    @Qualifier
     */
    @Bean
    public QueryRunner getQueryRunner( DataSource dataSource){
        return new QueryRunner(dataSource);
    }


    @Bean
    public DataSource getDataSourceByConfig(){
        ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();
        try {
            comboPooledDataSource.setDriverClass(driver);
            comboPooledDataSource.setJdbcUrl(url);
            comboPooledDataSource.setUser(username);
            comboPooledDataSource.setPassword(password);
        } catch (PropertyVetoException e) {
            e.printStackTrace();
        }

        return  comboPooledDataSource;
    }


}

UserDao .java

package com.ygkj.dao;

import com.ygkj.beans.User;

import java.util.ArrayList;

//持久层的接口类
public interface UserDao {

    //添加一条数据
    void addUser(User user);

    //根据id删除一条数据
    void deleteUserById(User user);

    //根据id修改某一条数据
    void updateUserById(User user);

    //根据id查询一条数据
    User findUserById(User user);

    //查询所有数据
    ArrayList<User> findUserByAll(User user);

}

UserDaoImpl .java

package com.ygkj.dao.impl;

import com.ygkj.beans.User;
import com.ygkj.dao.UserDao;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ArrayListHandler;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import java.sql.SQLException;
import java.util.ArrayList;
@Repository
public class UserDaoImpl implements UserDao {

@Autowired
    private QueryRunner queryRunner;

    public void setQueryRunner(QueryRunner queryRunner) {

        this.queryRunner = queryRunner;
    }

    @Override
    public void addUser(User user) {

        try {
            queryRunner.update("insert into t_user(username,password) values(?,?)",

                    user.getUserName(),user.getPassWord());

        } catch (SQLException e) {

            e.printStackTrace();
        }

    }

    @Override
    public void deleteUserById(User user) {

        try {
            queryRunner.update("delete from t_user where id=?",user.getId());

        } catch (SQLException e) {
            e.printStackTrace();
        }

    }

    @Override
    public void updateUserById(User user) {

        try {
            queryRunner.update("update t_user set password=? where id=?",
                    user.getPassWord(),user.getId());

        } catch (SQLException e) {
            e.printStackTrace();
        }

    }

    @Override
    public User findUserById(User user) {

        try {
            return queryRunner.query("select * from t_user where id = ?", new BeanHandler<User>(User.class),user.getId());

        } catch (SQLException e) {

            e.printStackTrace();
        }

        return null;
    }

    @Override
    public ArrayList<User> findUserByAll(User user) {

        try {
            return (ArrayList<User>) queryRunner.query("select * from t_user",new BeanListHandler<User>(User.class));
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return null;

    }

}

UserService .java

package com.ygkj.service;

import com.ygkj.beans.User;

import java.util.ArrayList;


//业务逻辑层的接口类
public interface UserService {

    //添加一条数据
    void addUser(User user);

    //根据id删除一条数据
    void deleteUserById(User user);

    //根据id修改某一条数据
    void updateUserById(User user);

    //根据id查询一条数据
    User findUserById(User user);

    //查询所有数据
    ArrayList<User> findUserByAll(User user);

}

UserServiceImpl .java

package com.ygkj.service.impl;

import com.ygkj.beans.User;
import com.ygkj.dao.UserDao;
import com.ygkj.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
@Service
public class UserServiceImpl implements UserService {
@Autowired
    private UserDao userDao;

    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }

    @Override
    public void addUser(User user) {

        userDao.addUser(user);
    }

    @Override
    public void deleteUserById(User user) {

        userDao.deleteUserById(user);

    }

    @Override
    public void updateUserById(User user) {

        userDao.updateUserById(user);

    }

    @Override
    public User findUserById(User user) {
        return userDao.findUserById(user);
    }

    @Override
    public ArrayList<User> findUserByAll(User user) {
        return userDao.findUserByAll(user);
    }


}

UserServlet.java

package com.ygkj.servlet;

import com.ygkj.beans.User;

import java.util.ArrayList;
import java.util.List;

//表现层的接口类
public interface UserServlet {

    //添加一条数据
    void addUser(User user);

    //根据id删除一条数据
    void deleteUserById(User user);

    //根据id修改某一条数据
    void updateUserById(User user);

    //根据id查询一条数据
    User findUserById(User user);

    //查询所有数据
    ArrayList<User> findUserByAll(User user);


}

UserServetImpl .java

package com.ygkj.servlet.impl;

import com.ygkj.beans.User;
import com.ygkj.service.UserService;
import com.ygkj.servlet.UserServlet;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

import java.util.ArrayList;
@Controller(value = "aaa")
public class UserServetImpl implements UserServlet {
@Autowired
    private UserService userService;

    public void setUserService(UserService userService) {
        this.userService = userService;
    }

    @Override
    public void addUser(User user) {

        userService.addUser(user);
    }

    @Override
    public void deleteUserById(User user) {

        userService.deleteUserById(user);

    }

    @Override
    public void updateUserById(User user) {

        userService.updateUserById(user);

    }

    @Override
    public User findUserById(User user) {
        return userService.findUserById(user);
    }

    @Override
    public ArrayList<User> findUserByAll(User user) {
        return userService.findUserByAll(user);
    }


}

UserTest01 .java 第一种测试方式

package com.ygkj.test;

import com.ygkj.beans.User;
import com.ygkj.config.UserConfig;
import com.ygkj.servlet.UserServlet;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import java.util.ArrayList;

/**
 * @RunWith(SpringJUnit4ClassRunner) 更换运行器 从单元测试中一个普普通通的main方法变成由spring环境提供的一个运行器
 * 可以避免对核心容器的创建
 * 使用junit整合spring的依赖
 * 他提供了一种运行器
 * 其中test只是一个简单的main方法
 */
//@RunWith(SpringJUnit4ClassRunner.class)
//@ContextConfiguration(classes = UserConfig.class)
public class UserTest01 {

//    @Autowired
//    private UserServlet userServlet;
    public static void main(String[] args) {

        ApplicationContext applicationContext=new AnnotationConfigApplicationContext(UserConfig.class);
        UserServlet userServlet = applicationContext.getBean("aaa", UserServlet.class);
        User user = new User();

        user.setId(7);
        user.setPassWord("654321");

        //userServlet.updateUserById(user);

        //userServlet.deleteUserById(user);

        //User user1 = userServlet.findUserById(user);

        ArrayList<User> userByAll = userServlet.findUserByAll(user);

        System.out.println(userByAll);

    }

//    @Test
//    public void test(){
//        User user=new User();
//
//        ArrayList<User> userByAll = userServlet.findUserByAll(user);
//
//        System.out.println(userByAll);
//    }
}

UserTest01 .java 第二种测试方式

package com.ygkj.test;

import com.ygkj.beans.User;
import com.ygkj.config.UserConfig;
import com.ygkj.servlet.UserServlet;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import java.util.ArrayList;

/**
 * @RunWith(SpringJUnit4ClassRunner) 更换运行器 从单元测试中一个普普通通的main方法变成由spring环境提供的一个运行器
 * 可以避免对核心容器的创建
 * 使用junit整合spring的依赖
 * 他提供了一种运行器
 * 其中test只是一个简单的main方法
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = UserConfig.class)
public class UserTest01 {

    @Autowired
    private UserServlet userServlet;
//    public static void main(String[] args) {
//
//        ApplicationContext applicationContext=new AnnotationConfigApplicationContext(UserConfig.class);
//        UserServlet userServlet = applicationContext.getBean("aaa", UserServlet.class);
//        User user = new User();
//
//        user.setId(7);
//        user.setPassWord("654321");
//
//        //userServlet.updateUserById(user);
//
//        //userServlet.deleteUserById(user);
//
//        //User user1 = userServlet.findUserById(user);
//
//        ArrayList<User> userByAll = userServlet.findUserByAll(user);
//
//        System.out.println(userByAll);
//
//    }

    @Test
    public void test(){
        User user=new User();

        ArrayList<User> userByAll = userServlet.findUserByAll(user);

        System.out.println(userByAll);
    }
}

涉及到的包

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值