20201117_杨子諓

2020-11-17日志

昨天学习了如何通过编程增删改查数据库中数据,但增删改查四个修改方式代码分开使用不够高效且代码有冗余。所以我们需要对代码进行封装达到输入数据直接达到增删改查的目的。将连接数据库,增删改的方法以及查询方法,关闭资源一起封装达到目的。增删改需要利用占位符进行输入将原本代码中对应输入的数据用?替换,然后再text类中通过循环将想要输入的数据按顺序填入数据库的表格中。所以需要在封装时给占位符进行赋值。只需要在text中修改输入的数据便可完成增删改三种操作。查询数据则需要使用查询数据代码以及while循环遍历数据库中的表。

例如:

//连接数据库
    public void getConnection() throws Exception{
        Class.forName("com.mysql.jdbc.Driver");
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/cpi", "root", "");
    }
    //增删改的方法
    public int excuteUpdate(String sql,Object...values) throws Exception{
        getConnection();
        psts = conn.prepareStatement(sql);
        setObject(values);
        int i = psts.executeUpdate();
        return i;
        }
    //查询方法
    public ResultSet executeQuery(String sql, Object...values)throws Exception{
        getConnection();
    psts = conn.prepareStatement(sql);
    setObject(values);
    ResultSet rs = psts.executeQuery();
    return rs;
    }
    
    //给占位符赋值
    public void setObject(Object...values) throws Exception{
        if(values != null && values.length > 0){
            for(int i = 0;i < values.length; i++) {
                psts.setObject(i+1, values[i]);
            }
            
        }
    }
    //关闭资源
    public void close() throws Exception{
        if(rs != null || rs.isClosed()==false) {
            rs.close();
        }
        if(psts != null || psts.isClosed()==false) {
            psts.close();
    }
        if(conn != null || conn.isClosed()==false) {
            conn.close();
        }
    }
    }

标签

评论

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1