JdbcTemplate防注入的几种方式

使用数组

public void deleteItemByName(String name) {

            Object[] obj = new Object[] { name};

            String sql = "DELETE FROM t_item WHERE name = ? ";

            jdbcTemplate.update(sql, obj);

 }

使用List最后转成Array

public void updateCompanyInfo(TCompany tCompany) {

            List params = new ArrayList();

            params.add(tCompany.getMobile());

            params.add(tCompany.getAddress());

            params.add(tCompany.getEmail());

            params.add(tCompany.getId() );

            String sql = " update T_COMPANY set mobile = ? , address = ? , email = ? where id = ? ";

            logger.info("sql:"+ sql);

            logger.info("param:"+ params.toString());

            jdbcTemplate.update(sql, params.toArray());  

        }

使用map

public List> hasCompanyItemSize(String companyName, String deviceTypeIds, String stationPoliceIds) {

            Map params = new HashMap();

            params.put("companyName", companyName);

            String dynamicParam = dynamicJDBCDaoParamUtil.dynamicHasCompanyItem(deviceTypeIds, stationPoliceIds, params);

            String sql = " select * from t_company_item tci where 1=1   and tci.COMPANY_NAME != :companyName " + dynamicParam;

            logger.info("sql:"+ sql);

            logger.info("_param:"+ params.toString());

           return namedTemplate.queryForList(sql , params);

        }

使用javaBean

public List beanParam(){

        String sql = "select c.child_id childId,c.child_name,c.child_age childAge,c.parent_id parentId from child c";

        sql += " where c.child_age=:childAge and c.parent_id =:parentId ";

        sql += " and c.child_name in(:names)";

        ParamBean bean = new ParamBean();

        bean.setChildAge(childAge);

        bean.setParentId(parentId);

        bean.setNames(names);

        SqlParameterSource param = new BeanPropertySqlParameterSource(bean);

        return namedTemplate.query(sql,param,new BeanPropertyRowMapper(Child.class));

    }

 

其他

public List> queryCompany(String companyName) {

            String sql = " select * from t_company tc where 1=1   and tc.COMPANY_NAME like  '%'|| ? ||'%'  ";

            return namedTemplate.queryForList(sql , companyName == null ? "");

        }

你可能感兴趣的:(jdbcTemple)