封装数据库增删该通用方法

public class JDBCTemplate {
    /**
     * 增删改封装
     * @param sql:要执行的sql语句
     * @param params sql对应的参数值,必须是和问号一一对应
     * @return rows 增加的影响的行数
     * @throws SQLException
     */
    public static int update(String sql,Object [] params) throws SQLException{
        //调用封装的方法注册驱动,与数据库建立链接
        Connection conn = ConnectionFactory.getConnection();
        //创建需要执行的sql语句的prepareStatement()方法
        PreparedStatement pstmt = conn.prepareStatement(sql);
        //判断  如果传进来的数组是正确的sql语句
        if(params!=null&&params.length>0){
            for (int i = 0; i < params.length; i++) {
                //因为数组的下标是从0开始,数据库的下标是从1开始,要一一对应必须将下标+1
                //params[i]是对应的参数类型
                pstmt.setObject(i+1,params[i]);                
            }
        }
        //调用方法返回修改的影响行数
        int rows = pstmt.executeUpdate();
        //调用工厂模式中封装的关闭资源的方法
        ConnectionFactory.close(pstmt, conn);
        //返回 rows
        return rows;
    }
    
    public static void main(String[] args) {
        //创建需要执行的sql语句
        String sql = "update t_user set password=? and id=?";
        try {
            //new Object[] {"333",1} "333" 是修改的密码   1 是表中id=1的用户
            int rows = JDBCTemplate.update(sql, new Object[] {"333",1});
            System.out.println(rows);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    

}

 

posted @ 2018-04-12 15:51  因为你,我爱上了那抹蓝  阅读(239)  评论(0)    收藏  举报