码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2018-04-12 16:13:07      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:dstat   cep   参数   prepare   code   pst   AC   object   语句   

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();
        }
    }
    

}

 

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

标签:dstat   cep   参数   prepare   code   pst   AC   object   语句   

原文地址:https://www.cnblogs.com/zhou-jiayi/p/8808221.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!