JDBC工具类

在这里插入图片描述

优化前的

package itheima02.deo;

import itheima02.domain.Student;

import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.SimpleTimeZone;

public class StudentDaoImpI implements StudentDao{
    /// 查询所有学生信息
    @Override
    public ArrayList<Student> findAll() {
        /// 注册驱动
        ArrayList<Student> list = new ArrayList<>();
        Connection con=null;
        Statement statement=null;
        ResultSet resultSet =null;
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            /// 获取数据库连接
            con= DriverManager.getConnection("jdbc:mysql://localhost:3306/db14?useUnicode=true&characterEncoding=utf-8", "root", "root");
            /// 获取执行者对象
            statement = con.createStatement();
            /// 执行sql
            String sql = "select * from student";

            resultSet =statement.executeQuery(sql);

            while (resultSet.next())
            {
                Integer sid = resultSet.getInt("sid");
                String name = resultSet.getString("NAME");
                Integer age = resultSet.getInt("age");
                Date birthday= resultSet.getDate("birthday");

                // 封装成Student对象
                Student student = new Student(sid,name,age,birthday);

                ///将student对象保存到集合中
                list.add(student);
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            if(con!=null)
            {
                try {
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

            if(statement!=null)
            {
                try {
                    statement.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(resultSet!=null)
            {
                try {
                    resultSet.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

        }
            //   将集合对象返回
        return list;

    }

    /// 条件查询,根据id获取学生信息
    @Override
    public Student findById(Integer id) {
        Student student = new Student();
        Connection con=null;
        Statement statement=null;
        ResultSet resultSet =null;
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            /// 获取数据库连接
            con= DriverManager.getConnection("jdbc:mysql://localhost:3306/db14?useUnicode=true&characterEncoding=utf-8", "root", "root");
            /// 获取执行者对象
            statement = con.createStatement();
            /// 执行sql
            String sql = "select * from student where sid='"+id+"'";

            resultSet =statement.executeQuery(sql);

            while (resultSet.next())
            {
                Integer sid = resultSet.getInt("sid");
                String name = resultSet.getString("NAME");
                Integer age = resultSet.getInt("age");
                Date birthday= resultSet.getDate("birthday");

                // 封装成Student对象
                student.setSid(sid);
                student.setName(name);
                student.setAge(age);
                student.setBirthday(birthday);
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            if(con!=null)
            {
                try {
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

            if(statement!=null)
            {
                try {
                    statement.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(resultSet!=null)
            {
                try {
                    resultSet.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

        }

        return student;
    }
    ///新增学生信息
    @Override
    public int insert(Student student) {

        Connection con=null;
        Statement statement=null;
        int result =0;
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            /// 获取数据库连接
            con= DriverManager.getConnection("jdbc:mysql://localhost:3306/db14?useUnicode=true&characterEncoding=utf-8", "root", "root");
            /// 获取执行者对象
            statement = con.createStatement();
            /// 执行sql
            Date date=student.getBirthday();
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
            String birthday = simpleDateFormat.format(date);
            String sql = "insert into student values('"+student.getSid()+"','"+student.getName()+"','"+student.getAge()+"','"+birthday+"') ";
            result=statement.executeUpdate(sql);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            if(con!=null)
            {
                try {
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

            if(statement!=null) {
                try {
                    statement.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

        }
    return result;

    }
    // 修改学生信息
    @Override
    public int update(Student student) {
        Connection con=null;
        Statement statement=null;
        int result =0;
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            /// 获取数据库连接
            con= DriverManager.getConnection("jdbc:mysql://localhost:3306/db14?useUnicode=true&characterEncoding=utf-8", "root", "root");
            /// 获取执行者对象
            statement = con.createStatement();
            /// 执行sql
            Date date=student.getBirthday();
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
            String birthday = simpleDateFormat.format(date);
            String sql = "update student set sid='"+student.getSid()+"',name ='"+student.getName()+"'," +
                    "age='"+student.getAge()+"',birthday='"+birthday+"'where sid='"+student.getSid()+"'";
            result=statement.executeUpdate(sql);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            if(con!=null)
            {
                try {
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

            if(statement!=null) {
                try {
                    statement.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

        }
        return result;
    }
    /// 删除学生信息
    @Override
    public int delete(Integer id) {
        Connection con=null;
        Statement statement=null;
        int result =0;
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            /// 获取数据库连接
            con= DriverManager.getConnection("jdbc:mysql://localhost:3306/db14?useUnicode=true&characterEncoding=utf-8", "root", "root");
            /// 获取执行者对象
            statement = con.createStatement();
            /// 执行sql
            String sql = "delete from student where sid='"+id+"'";
            result=statement.executeUpdate(sql);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            if(con!=null)
            {
                try {
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

            if(statement!=null) {
                try {
                    statement.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

        }
        return result;
    }
}

优化后代码

package itheima02.deo;

import itheima02.domain.Student;
import itheima02.utils.JDBCUtils;

import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.SimpleTimeZone;

public class StudentDaoImpI implements StudentDao{
    /// 查询所有学生信息
    @Override
    public ArrayList<Student> findAll() {
        /// 注册驱动
        ArrayList<Student> list = new ArrayList<>();
        Connection con=null;
        Statement statement=null;
        ResultSet resultSet =null;
        try
        {
            con= JDBCUtils.getConnection();
            /// 获取执行者对象
            statement = con.createStatement();
            /// 执行sql
            String sql = "select * from student";

            resultSet =statement.executeQuery(sql);

            while (resultSet.next())
            {
                Integer sid = resultSet.getInt("sid");
                String name = resultSet.getString("NAME");
                Integer age = resultSet.getInt("age");
                Date birthday= resultSet.getDate("birthday");

                // 封装成Student对象
                Student student = new Student(sid,name,age,birthday);

                ///将student对象保存到集合中
                list.add(student);
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
           JDBCUtils.close(con,statement,resultSet);

        }
            //   将集合对象返回
        return list;

    }

    /// 条件查询,根据id获取学生信息
    @Override
    public Student findById(Integer id) {
        Student student = new Student();
        Connection con=null;
        Statement statement=null;
        ResultSet resultSet =null;
        try
        {
            con= JDBCUtils.getConnection();
            /// 获取执行者对象
            statement = con.createStatement();
            /// 执行sql
            String sql = "select * from student where sid='"+id+"'";

            resultSet =statement.executeQuery(sql);

            while (resultSet.next())
            {
                Integer sid = resultSet.getInt("sid");
                String name = resultSet.getString("NAME");
                Integer age = resultSet.getInt("age");
                Date birthday= resultSet.getDate("birthday");

                // 封装成Student对象
                student.setSid(sid);
                student.setName(name);
                student.setAge(age);
                student.setBirthday(birthday);
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            JDBCUtils.close(con,statement,resultSet);
        }

        return student;
    }
    ///新增学生信息
    @Override
    public int insert(Student student) {

        Connection con=null;
        Statement statement=null;
        int result =0;
        try
        {
            con= JDBCUtils.getConnection();
            /// 获取执行者对象
            statement = con.createStatement();
            /// 执行sql
            Date date=student.getBirthday();
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
            String birthday = simpleDateFormat.format(date);
            String sql = "insert into student values('"+student.getSid()+"','"+student.getName()+"','"+student.getAge()+"','"+birthday+"') ";
            result=statement.executeUpdate(sql);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            JDBCUtils.close(con,statement);

        }
    return result;

    }
    // 修改学生信息
    @Override
    public int update(Student student) {
        Connection con=null;
        Statement statement=null;
        int result =0;
        try
        {
            con= JDBCUtils.getConnection();
            /// 获取执行者对象
            statement = con.createStatement();
            /// 执行sql
            Date date=student.getBirthday();
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
            String birthday = simpleDateFormat.format(date);
            String sql = "update student set sid='"+student.getSid()+"',name ='"+student.getName()+"'," +
                    "age='"+student.getAge()+"',birthday='"+birthday+"'where sid='"+student.getSid()+"'";
            result=statement.executeUpdate(sql);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            JDBCUtils.close(con,statement);

        }
        return result;
    }
    /// 删除学生信息
    @Override
    public int delete(Integer id) {
        Connection con=null;
        Statement statement=null;
        int result =0;
        try
        {
            con= JDBCUtils.getConnection();
            /// 获取执行者对象
            statement = con.createStatement();
            /// 执行sql
            String sql = "delete from student where sid='"+id+"'";
            result=statement.executeUpdate(sql);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            JDBCUtils.close(con,statement);

        }
        return result;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值