mysql数据库字段类型int,mybatis返回long或者int

最近在做项目的时候,发现一个问题,以及解决方法。分享出来供大家参考。

在mysql数据库里有个type字段,类型为int,但是项目中mybatis查询结果集里,使用map.get("type")获取,并用Integer强转时,报错,错误说明是long类型不能转为Integer。what?怎么会变成long类型了?后来查了下,貌似mybatis偶尔会抽风,数据库里int类型的字段会时不时的被转成long或者int,所以强转就有问题了。

那怎么办呢,有个思路,是不管什么类型,统统转为string类型,然后再解析为Integer或者Long。所以可以使用以下方法:

Integer type = Integer.parseInt(map.get("type").toString());

OK ,完美解决!有遇到相同问题的同学,可以参考。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以回答这个问题。以下是基于Mybatis的AdvertisementEntity增删改查的serviceImpl类的实现方法和用controller层调用的示例代码: AdvertisementServiceImpl.java ``` @Service public class AdvertisementServiceImpl implements AdvertisementService { @Autowired private AdvertisementMapper advertisementMapper; @Override public AdvertisementEntity getAdvertisementByType(String type) { return advertisementMapper.getAdvertisementByType(type); } @Override public void addAdvertisement(AdvertisementEntity advertisement) { advertisementMapper.addAdvertisement(advertisement); } @Override public void updateAdvertisement(AdvertisementEntity advertisement) { advertisementMapper.updateAdvertisement(advertisement); } @Override public void deleteAdvertisement(Long id) { advertisementMapper.deleteAdvertisement(id); } } ``` AdvertisementController.java ``` @RestController @RequestMapping("/advertisement") public class AdvertisementController { @Autowired private AdvertisementService advertisementService; @GetMapping("/{type}") public AdvertisementEntity getAdvertisementByType(@PathVariable String type) { return advertisementService.getAdvertisementByType(type); } @PostMapping public void addAdvertisement(@RequestBody AdvertisementEntity advertisement) { advertisementService.addAdvertisement(advertisement); } @PutMapping public void updateAdvertisement(@RequestBody AdvertisementEntity advertisement) { advertisementService.updateAdvertisement(advertisement); } @DeleteMapping("/{id}") public void deleteAdvertisement(@PathVariable Long id) { advertisementService.deleteAdvertisement(id); } } ``` 以上代码实现了对AdvertisementEntity的基于Mybatis的增删改查,查是对字段type的。返回格式为json。数据库MySQL

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值