数据库增删改查的实现

package bean;

public class Bean {
    private int id;
    private String zhuti;
    private String mudi;
    private String leixing;
    private String time ;
    private String place;
    private String duixiang;
    private String neirong;
    private String anpai;


    public int getId() {
        return id;
    }

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

    public String getZhuti() {
        return zhuti;
    }

    public void setZhuti(String zhuti) {
        this.zhuti = zhuti;
    }

    public String getMudi() {
        return mudi;
    }

    public void setMudi(String mudi) {
        this.mudi = mudi;
    }

    public String getLeixing() {
        return leixing;
    }

    public void setLeixing(String leixing) {
        this.leixing = leixing;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public String getPlace() {
        return place;
    }

    public void setPlace(String place) {
        this.place = place;
    }

    public String getDuixiang() {
        return duixiang;
    }

    public void setDuixiang(String duixiang) {
        this.duixiang = duixiang;
    }

    public String getNeirong() {
        return neirong;
    }

    public void setNeirong(String neirong) {
        this.neirong = neirong;
    }

    public String getAnpai() {
        return anpai;
    }

    public void setAnpai(String anpai) {
        this.anpai = anpai;
    }
    public Bean() {
        super();
        // TODO 自动生成的构造函数存根
    }
    public Bean(int id, String zhuti, String mudi, String leixing, String time, String place, String duixiang, String neirong, String anpai) {
        super();
        this.id = id;
        this.zhuti = zhuti;
        this.mudi = mudi;
        this.leixing = leixing;
        this.time = time;
        this.place = place;
        this.duixiang = duixiang;
        this.neirong = neirong;
        this.anpai = anpai;
    }
    public Bean( String zhuti, String mudi, String leixing, String time, String place, String duixiang, String neirong, String anpai) {
        super();

        this.zhuti = zhuti;
        this.mudi = mudi;
        this.leixing = leixing;
        this.time = time;
        this.place = place;

  

package dao;

import Util.DBUtil;
import bean.Bean;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class Dao {
    public boolean add(Bean ten) throws ClassNotFoundException , SQLException
    {
        String sql="insert into person(zhuti,mudi,leixing,time,place,duixiang,neirong,anpai)values"
                + "('" + ten.getZhuti() + "','" + ten.getMudi() + "','"+ ten.getLeixing() + "','" + ten.getTime() + "','" + ten.getPlace() + "','" + ten.getDuixiang() + "','" + ten.getNeirong() + "','" + ten.getAnpai()+ "')";

        Connection conn= DBUtil.getConnection();
        Statement state=null;
        boolean f=false;
        int a = 0;
        try {
            state = conn.createStatement();
            state.executeUpdate(sql);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {

            DBUtil.close(state, conn);
        }
        if(a>0)
            f=true;
        return f;
    }

    public Bean getbyzhuti(String name) throws ClassNotFoundException ,SQLException
    {
        String sql = "select * from shetuan where zhuti ='" + name + "'";
        Connection conn = DBUtil.getConnection();
        Statement state = null;
        ResultSet rs = null;
        Bean ten = null;

        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            while (rs.next()) {
                int id=rs.getInt("id");

                String zhuti2 = rs.getString("zhuti");
                String mudi2 = rs.getString("mudi");
                String leixing2 = rs.getString("leixing");
                String time2=rs.getString("time");
                String place2 = rs.getString("place");
                String duixiang2 =rs.getString("duixiang");
                String neirong2=rs.getString("neirong");
                String anpai2=rs.getString("anpai");

                ten = new Bean(id,zhuti2, mudi2,leixing2,time2,place2, duixiang2, neirong2, anpai2);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, state, conn);
        }

        return ten;
    }


    //delete
    public boolean delete(String name) throws SQLException, ClassNotFoundException {
        String sql="delete from shetuan where zhuti='" + name + "'";
        Connection conn = DBUtil.getConnection();
        Statement state = null;
        int a = 0;
        boolean f = false;
        try {
            state = conn.createStatement();
            a = state.executeUpdate(sql);
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(state, conn);
        }

        if (a > 0) {
            f = true;
        }
        return f;
    }
    //update
    public boolean update(Bean b)
    {
        Connection con=null;
        PreparedStatement pstmt=null;
        ResultSet rs=null;
        try {
            con=DBUtil.getConnection();
            String sql="update shetuan set zhuti=?,mudi=?,leixing=?,time=?,place=?,duixiang=?,neirong=?,anpai=? where id=?";
            pstmt=con.prepareStatement(sql);
            pstmt.setString(1, b.getZhuti());
            pstmt.setString(2, b.getMudi());
            pstmt.setString(3, b.getLeixing());
            pstmt.setString(4, b.getTime());
            pstmt.setString(5, b.getPlace());
            pstmt.setString(6, b.getDuixiang());
            pstmt.setString(7, b.getNeirong());
            pstmt.setString(7, b.getAnpai());
            pstmt.setInt(8, b.getId());
            pstmt.executeUpdate();
            return true;
        }
        catch (SQLException | ClassNotFoundException e) {
            System.out.println("更新失败");
            e.printStackTrace();
        }
        finally {
            DBUtil.close(rs, pstmt, con);
        }
        return false;
    }
    //查找
    public boolean name(String name) throws SQLException, ClassNotFoundException {
        boolean flag = false;
        String sql = "select zhuti from shetuan where zhuti = '" + name + "'";
        Connection conn = DBUtil.getConnection();
        Statement state = null;
        ResultSet rs = null;

        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            while (rs.next()) {
                flag = true;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, state, conn);
        }
        return flag;
    }


    public List<Bean> search(String zhuti, String time, String leixing, String place) throws SQLException, ClassNotFoundException {
        String sql = "select * from shetuan where ";


        if (zhuti != "") {
            sql += "zhuti like '%" +zhuti+ "%'";
        }

        if (time != "") {
            sql += "time like '%" +time+ "%'";
        }
        if(leixing!="") {
            sql+="leixing like '%"+leixing+ "%'";
        }

        if(place!="") {
            sql+="place like '%" +place+ "%'";
        }
        List<Bean> list = new ArrayList<>();
        Connection conn = DBUtil.getConnection();
        Statement state = null;
        ResultSet rs = null;
        Bean bean = null;
        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            while (rs.next()) {
                String zhuti2 = rs.getString("zhuti");
                String mudi2 = rs.getString("mudi");
                String leixing2 = rs.getString("leixing");
                String time2=rs.getString("time");
                String place2 = rs.getString("place");
                String duixiang2 =rs.getString("duixiang");
                String neirong2=rs.getString("neirong");
                String anpai2=rs.getString("anpai");

                bean = new Bean(zhuti2, mudi2,leixing2,time2,place2, duixiang2, neirong2, anpai2);

                list.add(bean);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, state, conn);
        }

        return list;
    }

    public List<Bean> list() throws SQLException, ClassNotFoundException {
        String sql = "select * from shetuan";
        List<Bean> list = new ArrayList<>();
        Connection conn = DBUtil.getConnection();
        Statement state = null;
        ResultSet rs = null;

        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            while (rs.next()) {
                Bean bean = null;
                int id=rs.getInt("id");
                String zhuti2 = rs.getString("zhuti");
                String mudi2 = rs.getString("mudi");
                String leixing2 = rs.getString("leixing");
                String time2=rs.getString("time");
                String place2 = rs.getString("place");
                String duixiang2 =rs.getString("duixiang");
                String neirong2=rs.getString("neirong");
                String anpai2=rs.getString("anpai");

                bean = new Bean(id,zhuti2, mudi2,leixing2,time2,place2, duixiang2, neirong2, anpai2);

                list.add(bean);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, state, conn);

  

package service;

import bean.Bean;
import dao.Dao;

import java.sql.SQLException;
import java.util.List;

public class Service {
    Dao tDao=new Dao();
    public boolean add(Bean ten) throws SQLException, ClassNotFoundException {
        boolean f = false;
        if(!tDao.name(ten.getZhuti()))
        {
            tDao.add(ten);
            f=true;
        }
        return f;
    }

    public boolean del(String zhuti) throws SQLException, ClassNotFoundException {
        tDao.delete(zhuti);
        return true;
    }

    public boolean update(Bean ten)
    {
        tDao.update(ten);
        return true;
    }

    public Bean getbyzhuti(String zhuti) throws SQLException, ClassNotFoundException {
        return tDao.getbyzhuti(zhuti);
    }

    public List<Bean> search(String zhuti, String time, String leixing, String place) throws SQLException, ClassNotFoundException {
        return tDao.search(zhuti,time,leixing,place);
    }


    public List<Bean> list() throws SQLException, ClassNotFoundException {
        return tDao.list();
    }
}

  

package servlet;

import Util.DBUtil;
import service.Service;

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 java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
@WebServlet("/addServlet")
public class addServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    Service service = new Service();


    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置编译格式
        request.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8");
        //接收数据
        String zhuti = request.getParameter("zhuti");
        String mudi = request.getParameter("mudi");
        String leixing = request.getParameter("leixing");
        String time = request.getParameter("time");
        String place = request.getParameter("place");
        String duixiang = request.getParameter("duixiang");
        String neirong = request.getParameter("neirong");
        String anpai = request.getParameter("anpai");

        PrintWriter write = response.getWriter();

            PreparedStatement preparedStatement = null;
            Connection connection = null;
            try {
                connection = DBUtil.getConnection();
                String sql = "insert into shetuan(zhuti,mudi,leixing,time,place,duixiang,neirong,anpai) values(?,?,?,?,?,?,?,?)";
                preparedStatement = null;
                preparedStatement = connection.prepareStatement(sql);
                preparedStatement.setString(1, zhuti);
                preparedStatement.setString(2, mudi);
                preparedStatement.setString(3, leixing);
                preparedStatement.setString(4, time);
                preparedStatement.setString(5, place);
                preparedStatement.setString(6, duixiang);
                preparedStatement.setString(7, neirong);
                preparedStatement.setString(8, anpai);
                preparedStatement.executeUpdate();
            } catch (ClassNotFoundException e) {
                throw new RuntimeException(e);
            } catch (SQLException e) {
                throw new RuntimeException(e);
            } finally {
                DBUtil.close(preparedStatement);
                DBUtil.close(connection);
            }
            request.getRequestDispatcher("liulan.jsp").forward(request,response);
        }


    private boolean isNumeric(String str) {
        for (int i = str.length();--i>=0;){
            if (!Character.isDigit(str.charAt(i))){
                return false;
            }
        }
        return true;
    }
}

  

package Util;

import java.sql.*;

public class DBUtil {
    public static Connection getConnection() throws ClassNotFoundException, SQLException {

        Connection connection = null;//连接数据库
        Statement stmt = null;//Statement 对象用于将 SQL 语句发送到数据库中。
        ResultSet rs = null;
        //1. 导入驱动jar包
        //2.注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
//        好像要设置时区??
        connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/CLASS ?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT", "root", "123456");

        return connection;
    }

    public static void close(Connection connection) {
        try {
            if (connection != null) {
                connection.close();
            }

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    public static void close(PreparedStatement preparedStatement) {
        try {
            if (preparedStatement != null) {
                preparedStatement.close();
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    public static void close(ResultSet resultSet) {
        try {
            if (resultSet != null) {
                resultSet.close();
            }

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }




    public static void close(Statement state, Connection connection) {
        try {
            if (connection != null) {
                connection.close();
            }
            if (state != null)
            {
                state.close();
            }

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    public static void close(ResultSet rs, Statement state, Connection conn) {
        try {
            if (conn != null) {
                conn.close();
            }
            if (state != null)
            {
                state.close();
            }
            if(rs != null)
            {
                rs.close();
            }

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

  

posted @ 2023-03-13 00:14  方自然  阅读(41)  评论(0)    收藏  举报