我是靠谱客的博主 高兴柜子,最近开发中收集的这篇文章主要介绍idea报错-java.lang.IllegalStateException:(数组Arrays.asList()),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
### Error updating database. Cause: java.lang.IllegalStateException: Type handler was null on parameter mapping for property '__frch_listItem_2'. It was either not specified and/or could not be found for the javaType ([J) : jdbcType (null) combination.
### Cause: java.lang.IllegalStateException: Type handler was null on parameter mapping for property '__frch_listItem_2'. It was either not specified and/or could not be found for the javaType ([J) : jdbcType (null) combination.] with root cause
java.lang.IllegalStateException: Type handler was null on parameter mapping for property '__frch_listItem_2'. It was either not specified and/or could not be found for the javaType ([J) : jdbcType (null) combination.
at org.apache.ibatis.mapping.ParameterMapping$Builder.validate(ParameterMapping.java:119) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.mapping.ParameterMapping$Builder.build(ParameterMapping.java:104) ~[mybatis-3.4.6.jar:3.4.6]
代码:
/**
* 批量下架
* @param ids
* @return
*/
@PutMapping("/pull/many")
public Result pullMany(@RequestBody long[] ids){
int count = spuService.pullMany(ids);
return new Result(true,StatusCode.OK,count+"款商品下架成功");
}
/**
* 批量下架
* @param ids
* @return
*/
int pullMany(long[] ids);
/**
* 批量下架
* @param ids 需要下架的商品ID集合
* @return
*/
@Override
public int pullMany(long[] ids) {
//is_marketable是否上架,0已下架,1已上架
//is_delete是否删除,0:未删除,1:已删除
//status审核状态,0:未审核,1:已审核,2:审核不通过
//批量上架 update tb_spu set is_marketable=1 where id in(ids)and is_delete=0 and is_marketable=0 and status=1
//批量下架 update tb_spu set is_marketable=0 where id in(ids) and is_delete=0 and is_marketable=1 and status=1
Spu spu=new Spu();
spu.setIsMarketable("0");//下架
Example example=new Example(Spu.class);
Example.Criteria criteria = example.createCriteria();
criteria.andIn("id", Arrays.asList(ids));//id
//上架状态
criteria.andEqualTo("isMarketable","1");
//审核通过的
criteria.andEqualTo("status","1");
//非删除的
criteria.andEqualTo("isDelete","0");
return spuMapper.updateByExampleSelective(spu, example);
}
List<>集合中只能放引用类型,Arrays.asList()不能用于基本数据类型,适用于对象型数据的数组(String、Integer...)
程序运行的结果并是不是我们想要的5,而是1,这是因为asList方法接受的参数是一个可变长度的泛型
而java的8中基本数据类型是不能被泛型化的,其相应的包装类是可以被泛型化的,只有Object及
其子类才可以泛型化。数组是可以被泛型化的,所以此demo输出结果是1,而不是5。
要想输出是5,只需要将int改为Integer
换成Long[] ids即可
/**
* 批量下架
* @param ids
* @return
*/
@PutMapping("/pull/many")
public Result pullMany(@RequestBody long[] ids){
int count = spuService.pullMany(ids);
return new Result(true,StatusCode.OK,count+"款商品下架成功");
}
/**
* 批量下架
* @param ids
* @return
*/
int pullMany(long[] ids);
/**
* 批量下架
* @param ids 需要下架的商品ID集合
* @return
*/
@Override
public int pullMany(Long[] ids) {
//is_marketable是否上架,0已下架,1已上架
//is_delete是否删除,0:未删除,1:已删除
//status审核状态,0:未审核,1:已审核,2:审核不通过
//批量上架 update tb_spu set is_marketable=1 where id in(ids)and is_delete=0 and is_marketable=0 and status=1
//批量下架 update tb_spu set is_marketable=0 where id in(ids) and is_delete=0 and is_marketable=1 and status=1
Spu spu=new Spu();
spu.setIsMarketable("0");//下架
Example example=new Example(Spu.class);
Example.Criteria criteria = example.createCriteria();
criteria.andIn("id", Arrays.asList(ids));//id
//上架状态
criteria.andEqualTo("isMarketable","1");
//审核通过的
criteria.andEqualTo("status","1");
//非删除的
criteria.andEqualTo("isDelete","0");
return spuMapper.updateByExampleSelective(spu, example);
}
最后
以上就是高兴柜子为你收集整理的idea报错-java.lang.IllegalStateException:(数组Arrays.asList())的全部内容,希望文章能够帮你解决idea报错-java.lang.IllegalStateException:(数组Arrays.asList())所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复