利用SimpleJdbcTemplate进行增删改查

来源:互联网 发布:淘宝上开刃刀 编辑:程序博客网 时间:2024/06/04 19:02
private SimpleJdbcTemplate simpleJdbcTemplate;//查询实体对象:public AdPostInfoBean selectByKey(int apId, int targetId, int targetType) {        String sql = "select * from adpostinfo where apid=? and targetid=? and targettype=?";        try {            return this.simpleJdbcTemplate.queryForObject(sql, ParameterizedBeanPropertyRowMapper                .newInstance(AdPostInfoBean.class), apId, targetId, targetType);        }        catch (EmptyResultDataAccessException e) {            return null;        }    }//查询列表public List<AdPostInfoBean> selectByApid(int apId) {        String sql = "select * from adpostinfo where apid=?";                return this.simpleJdbcTemplate.query(sql, ParameterizedBeanPropertyRowMapper            .newInstance(AdPostInfoBean.class), apId);    }//删除public int deleteByApId(int apId) {        String sql = "delete from adpostinfo where apid=?";        return this.simpleJdbcTemplate.update(sql, apId);    }//添加public int insert(AdPlayInfoBean adPlayInfo){String sql = "insert into adplayinfo (APID, PBID, ModifyTime, Status) values (:apId, :pbId, :modifytime, :status)";KeyHolder keyHolder = new GeneratedKeyHolder();        this.simpleJdbcTemplate.getNamedParameterJdbcOperations().update(        sql,                new BeanPropertySqlParameterSource(adPlayInfo),                 keyHolder        );        return keyHolder.getKey().intValue();}//普通修改public int updateStatusByPbId(int pbId, int oldStatus, int newStatus){String sql = "update adplayinfo set Status = ? where pbId = ? and Status = ?";return this.simpleJdbcTemplate.update(sql, newStatus, pbId, oldStatus);}//批量修改public int[] update(List<AdPostInfoBean> adPostInfos) {        if (adPostInfos == null)            return new int[] {};        String sql = "update adpostinfo set postuser:=postuser,posttime=:posttime,poststatus=:poststatus"            + " where apid=:apid and targetid=:targetid and targettype=:targettype";        return this.simpleJdbcTemplate.batchUpdate(sql, SqlParameterSourceUtils            .createBatch(adPostInfos.toArray()));    }//查询表数量public int getUsedRotateTime(int pbid){StringBuffer sqlbuf = new StringBuffer("select sum(Length) from ADDataRotator a"+ " join ADPlanRotator b on a.apid = b.apid"+ " join ADPlayInfo c on c.apid = b.apid where 1=1");sqlbuf.append(" and a.ADType = ").append(PlayTaskType.video);sqlbuf.append(" and c.status > 0 and b.RotatorCycle > 0 and c.PBID = ?");String sql = sqlbuf.toString();try{return this.simpleJdbcTemplate.queryForInt(sql, pbid);}catch (EmptyResultDataAccessException e) {return 0;}}