JdbcTemplate使用in条件查询sql

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_33704704/article/details/86525729

在使用条件in的sql的时候 使用NamedParameterJdbcTemplat

public Object getXXX(String roleAuth, long roleId){

        NamedParameterJdbcTemplate nameJdbc = new NamedParameterJdbcTemplate(this.getJdbcTemplate());

        Map<String,Object> params = new HashMap<String,Object>();

        String queryParam0 = "";

        String queryParam1 = "";

        List<String> roleIdList = new ArrayList<String>();

        if(!StringUtils.isEmpty(roleAuth)){

           String[] roleIdNum = roleAuth.split(",");

           for(int i = 0; i < roleIdNum.length; i++) {

               roleIdList.add(roleIdNum[i]);

           }

           params.put("roleIdList", roleIdList);

           queryParam0 = " role_id in(:roleIdList) or ";

        }

        if(roleId != 0){

           params.put("roleId", roleId);

           queryParam1 = " where ( "+queryParam0+" role_id = :roleId ) ";

        }

        String sql="select * from t_role "+queryParam1+" order by role_name";

        return nameJdbc.query(sql , params, new roleMapper());

    }

猜你喜欢

转载自blog.csdn.net/sinat_33704704/article/details/86525729