项目结构:
数据访问层:(DbDaoImpl.java)
package DaoImpl;
import java.sql.*;
import Dao.IDbDao;
import tools.jdbcTools;
public class DbDaoimpl implements IDbDao{
public ResultSet Select(String sql,Object... args){
try{
PreparedStatement pre = prepared(sql,args);
return pre.executeQuery();
}catch(Exception e){
System.out.println("DbDao中Selete错误!");
e.printStackTrace();
return null;
}
}
public void add(String sql, Object... args){
try{
PreparedStatement pre = prepared(sql,args);
pre.execute();
}catch(Exception e){
System.out.println("DbDao中add||delete||set 错误!");
e.printStackTrace();
}
}
public void delete(String sql, Object... args){
add(sql,args);
}
public void set(String sql, Object... args){
add(sql,args);
}
public int count(String sql){
try{
PreparedStatement pre = prepared(sql);
ResultSet rs = pre.executeQuery();
if(rs.next()){
return rs.getInt(1);
}
return 0;
}catch(Exception e){
System.out.println("DbDaoImpl count error!");
e.printStackTrace();
return -1;
}
}
private PreparedStatement prepared(String sql, Object...args){
try{
Connection connection = jdbcTools.getConnection();
PreparedStatement pre = connection.prepareStatement(sql);
int i = 1;
for (Object object : args) {
pre.setObject(i, object);
i++;
}
return pre;
}catch(Exception e){
System.out.println("DbDao中prepared 错误!");
e.printStackTrace();
return null;
}
}
}
业务逻辑层:(userDaoImpl.java)
package ServiceImpl;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import DaoImpl.DbDaoimpl;
import Service.IuserDao;
import entity.user;
public class userDaoImpl implements IuserDao {
public int set(user user){
String sql = "SELECT id FROM user WHERE id = ?";
ResultSet resultSet = new DbDaoimpl().Select(sql, user.getId());
try{
if(resultSet.next()){
sql = "UPDATE user SET name = ?,age = ?,loc = ? WHERE id = ?";
new DbDaoimpl().add(sql, user.getName(),user.getAge(),user.getLoc(),user.getId());
return 1;
}
return -1;
}catch(Exception e){
System.out.println("setData error!");
e.printStackTrace();
return -1;
}
}
public int del(String name){
String sql = "SELECT id FROM user WHERE name = ?";
ResultSet resultSet = new DbDaoimpl().Select(sql, name);
try{
if(resultSet.next()){
sql = "DELETE FROM user WHERE name = ?";
new DbDaoimpl().delete(sql, name);
return 1;
}
return -1;
}catch(Exception e){
System.out.println("delData error!");
e.printStackTrace();
return -1;
}
}
public int add(user user){
String sql = "SELECT id FROM user WHERE name = ?";
ResultSet resultSet = new DbDaoimpl().Select(sql, user.getName());
try{
if(!resultSet.next()){
sql = "INSERT INTO user (name, age, loc) VALUES (?,?,?)";
new DbDaoimpl().add(sql, user.getName(),user.getAge(),user.getLoc());
return 1;
}
return -1;
}catch(Exception e){
System.out.println("addData error!");
e.printStackTrace();
return -1;
}
}
}
表示层后端:(addData.java)
package servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import ServiceImpl.userDaoImpl;
import entity.user;
/**
* Servlet implementation class addData
*/
@WebServlet("/addData")
public class addData extends HttpServlet {
private static final long serialVersionUID = 1L;
public addData() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String name = request.getParameter("uname");
String age = request.getParameter("uage");
String loc = request.getParameter("uloc");
user user = new user(name, Integer.parseInt(age), loc);
int result = new userDaoImpl().add(user);
if(result < 0) request.setAttribute("error", "error");
else request.setAttribute("good", "good");
request.getRequestDispatcher("getUserByPage").forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
delData.java
package servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import ServiceImpl.userDaoImpl;
@WebServlet("/delData")
public class delData extends HttpServlet {
private static final long serialVersionUID = 1L;
public delData() {}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String name = request.getParameter("uname");
new userDaoImpl().del(name);
request.getRequestDispatcher("getUserByPage").forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
setData.java
package servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import ServiceImpl.userDaoImpl;
import entity.user;
@WebServlet("/setData")
public class setData extends HttpServlet {
private static final long serialVersionUID = 1L;
public setData() {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String idt = request.getParameter("uid");
int id = Integer.parseInt(idt);
String name = request.getParameter("uname");
String age = request.getParameter("uage");
String loc = request.getParameter("uloc");
user user = new user(id,name, Integer.parseInt(age), loc);
int result = new userDaoImpl().set(user);
if(result < 0) request.setAttribute("errorset", "error");
else request.setAttribute("goodset", "good");
request.getRequestDispatcher("getUserByPage").forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}