User .java
package com.bky.beans;
public class User {
private String userName;
private String passWord;
private Integer id;
public User(String userName, String passWord, Integer id) {
this.userName = userName;
this.passWord = passWord;
this.id = id;
}
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{" +
"userName='" + userName + '\'' +
", passWord='" + passWord + '\'' +
", id=" + id +
'}';
}
}
UserDaoImpl .java
package com.bky.dao.impl;
import com.bky.beans.User;
import com.bky.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 java.sql.SQLException;
import java.util.ArrayList;
public class UserDaoImpl implements UserDao {
//其中的query方法很重要
private QueryRunner queryRunner;
public void setQueryRunner(QueryRunner queryRunner) {
QueryRunner queryRunner1 = new QueryRunner();
this.queryRunner = queryRunner;
}
/**
* 添加一条数据
*/
@Override
public void addUser(User user) {
try {
queryRunner.update("insert into t_user(u_name,u_passward) values (?,?)",
user.getUserName(),user.getPassWord());
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
/**
* 根据id删除一条数据
* @param user
*/
@Override
public void deleteUserById(User user) {
try {
queryRunner.update("delete from t_user where id=?",user.getId());
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
/**
*根据id修改一条数据
*/
@Override
public void updateUserById(User user) {
try {
queryRunner.update("update t_user set u_passward=? where id=?",user.getPassWord(),user.getId());
} catch (SQLException throwables) {
throwables.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 throwables) {
throwables.printStackTrace();
}
return null;
}
@Override
public ArrayList<User> findUserByAll(User user) {
try {
return (ArrayList<User>) queryRunner.query("select * from t_user", new BeanListHandler<>(User.class));
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return null;
}
/**
* 根据id查询一条数据
* @param user
*/
}
UserDao .java
package com.bky.dao;
import com.bky.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);
}
UserServiceImpl .java
package com.bky.service.impl;
import com.bky.beans.User;
import com.bky.dao.UserDao;
import com.bky.service.UserService;
import java.util.ArrayList;
public class UserServiceImpl implements UserService {
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);
}
}
UserService .java
package com.bky.service;
import com.bky.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);
}
UserServletImpl .java
package com.bky.servlet.impl;
import com.bky.beans.User;
import com.bky.service.UserService;
import com.bky.servlet.UserServlet;
import java.util.ArrayList;
public class UserServletImpl implements UserServlet {
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);
}
}
UserServlet .java
package com.bky.servlet;
import com.bky.beans.User;
import java.util.ArrayList;
//表现层的接口类
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);
}
UserTest01 .java
package com.bky.test;
import com.bky.beans.User;
import com.bky.servlet.UserServlet;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.util.ArrayList;
public class UserTest01 {
public static void main(String[] args) {
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("xml/beans.xml");
UserServlet userServlet = (UserServlet) applicationContext.getBean("userServlet");
// userServlet.addUser(new User("bbb","ccc"));
//
// User user = new User();
// user.setId(8);
// userServlet.deleteUserById(user);;
// User user1 = new User();
// user1.setId(5);
// user1.setPassWord("aaa");
// userServlet.updateUserById(user1);
User user1 = new User();
user1.setId(1);
User userById = userServlet.findUserById(user1);
System.out.println(user1);
// User user = new User();
// ArrayList<User> userByAll = userServlet.findUserByAll(user);
// System.out.println(userByAll);
}
}
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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="userServlet" class="com.bky.servlet.impl.UserServletImpl">
<property name="userService" ref="userService">
</property>
</bean>
<bean id="userService" class="com.bky.service.impl.UserServiceImpl">
<property name="userDao" ref="userdao">
</property>
</bean>
<bean id="userdao" class="com.bky.dao.impl.UserDaoImpl">
<property name="queryRunner" ref="runner">
</property>
</bean>
<bean id="runner" class="org.apache.commons.dbutils.QueryRunner" scope="prototype">
<constructor-arg name="ds" ref="datesouce">
</constructor-arg>
</bean>
<bean id="datesouce" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test01"></property>
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="user" value="root"></property>
<property name="password" value="root"></property>
</bean>
</beans>
所需jar包
残留问题
在UserSpring项目内
查询出来的userName和password为空