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
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);
void deleteUserById(User user);
void updateUserById(User user);
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);
void deleteUserById(User user);
void updateUserById(User user);
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);
void deleteUserById(User user);
void updateUserById(User user);
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;
public class UserTest01 {
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");
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.class)
@ContextConfiguration(classes = UserConfig.class)
public class UserTest01 {
@Autowired
private UserServlet userServlet;
@Test
public void test(){
User user=new User();
ArrayList<User> userByAll = userServlet.findUserByAll(user);
System.out.println(userByAll);
}
}
涉及到的包