最近在项目中遇到了这么个情况,数据库字段类型的设计同我后台的数据类型不一致,但是数据库中的数值都是整数类型……那为什么不用整型呢?这下就把我瞬间整懵了:
这是数据库中的部分数据:
这是数据库中的字段类型:
所以实体类生成后对应的字段类型也成为double了,由于double属于双精度,如果这样传入一个id那么必定会出现问题,所以我纠结了……(开发已经接近尾声,如果这时候进行重构那么代价太大了,而且也比较麻烦,我这人比较懒,所以打算另辟蹊径)

1、刚开始使用的是比较传统的入参方法:
dao接口:

mapper文件:

ps:_parameter是mybatis的内置参数,我使用的版本必须要用到内置参数才能获取到参数值,否则会报“There is no getter for property named ‘xxx’ in class ‘java.lang.xxx’”的错误,这可能跟mybatis的版本有关,自己多注意一下就好。

2、如果就像上面所写的一样,那么我每次integer传参调用dao的这个方法的时候都需要转换一下数据类型,于是我试探性的又修改了一下:
dao接口:

mapper文件:

3、试探完传统的方式,于是又试探了一下@Param注解的形式:
dao接口:

mapper文件:

做完这些试探,大致也就知道了,mybatis中对这些数据类型要求并不是那么严格,那么想到这里我又好奇一个问题,Param注解并没有声明任何数据类型的过程,那么它的参数给到mapper的时候的数据类型是怎样的呢?后来面向百度走了一波(https://blog.csdn.net/showgood119/article/details/78685966)

文章写到:mybats的@param接收的参数根本就是object,是在运行时确定它的类型,所以使用@param可以偷懒,直接写成List getAllPeople(@Param(“vo”) Object vo,@Param(“id”)Object id),也是正常工作,但是不建议这样操作,会增加代码的阅读困难;

总结:带着好奇去思考一些问题,总会让你有意想不到的收获。

在bug的边缘疯狂试探之mybatis相关推荐

  1. 在网吧敲代码是种什么体验?网友神评论:在挨打的边缘疯狂试探

    网吧,学生党眼中放飞自我的圣地,家长眼中乌烟瘴气的毒瘤,一直为社会大众所不齿,但是它也逐渐演变成了我们日常生活必不可少的一部分.做为程序员的你,有没有曾经去网吧敲代码的经历呢? 今天,程序君就带大家领 ...

  2. 在2147483647的边缘疯狂试探

    2147483648的缘起 最近其实一直都在是摸鱼的状态,编程也很少了.其实自己真的想有一段时间啥都别顾及的只是敲代码就行了的时光.说我怠惰也好,现在感觉就是我干什么都有一种没有用的感觉. 这次碰到的 ...

  3. 公司的hr是怎么在被解雇的边缘疯狂试探的

    最近看到一个HR吐槽"高级前端招了快一个月了,实在招不到,在被解雇的边缘试探--" 也许你听着有点不可思议,不是说前端很卷,人太多了吗?其实现在前端的人才环境是:初级前端.API工 ...

  4. 不要在爬虫犯罪的边缘疯狂试探!

    来交代一下,你抓了多少数据,在哪抓的,干什么用了,看够在里面待几年...... 从去年开始我看到好几起因为抓取数据而遭遇诉讼,有的锒铛入狱,有的被处罚金,从案件的模糊描述来看,我看得后背发凉,似乎每个 ...

  5. 华为和小米:在智能电视市场的边缘疯狂试探

    文 | 陈选滨 来源丨智能相对论(ID:aixdlun) 从2019跨向2020,是电视重新确立家居场景定位,意图以"智能化"表现重新夺取市场的一年. 暂且不说消费端的用户持以什么 ...

  6. 全球首款iOS模拟器出炉!在违法的边缘疯狂试探

    对于许多智能手机用户,特别是手游玩家来说,在手机屏幕的方寸之间进行操作显然并非特别方便,而且在多年之前,由于手机配置不足,也导致了用PC来玩手游的需求不断涌现.彼时,BlueStacks及夜神等一众A ...

  7. 快速乘-在乘法溢出的边缘疯狂试探

    (有任何问题欢迎留言或私聊 && 欢迎交流讨论哦 闲话:  问题引入:对于两个1e18大小的数字,要求其乘积,或者mod一个1e18的数.  如果你有大数模板或者有时间手敲一个那就请忽 ...

  8. 学Java的四天(在入土的边缘疯狂试探。。。)

    嘛,今天终于出太阳了,感觉人生又有了希望,而今天学的是判断之类的东西,还好我在这种方面很少栽跟头,就好像我的人生前途光明??? 今天的内容如下: /**     字符串:String(不是基础数据类型 ...

  9. 在死亡边缘疯狂试探:“黑暗旅游”,你敢尝试吗?

    不知道大家有没有发现,现在想要在"朋友圈摄影大赛"里吸引眼球越来越难了!关于旅游的鄙视链,绝对让你体会到装逼对"社畜"有多残酷. 东拼西凑出个年假,p图定位加滤 ...

最新文章

  1. c++ hook 钩子的使用介绍
  2. 人为何会发烧,超过42°C会怎样?
  3. 【直播】回放!人脸图像算法及其应用
  4. AIRec个性化推荐召回模型调参实战
  5. struts上传文件,验证失败表单数据丢失的原因
  6. SAP WebIDE 里 UI5 应用的隐藏文件 project.json
  7. 如何使用 C# 中的 ValueTask
  8. 除了云原生,2021 年还有这八大趋势值得关注
  9. 亲测!这款耳机性价比堪比 AirPods
  10. java实验报告实验环境_Java实验报告一:Java开发环境的熟悉
  11. mysql数据库p_PbootCMS Sqlite数据库转Mysql数据库教程
  12. HTML学生网页设计作业成品~化妆品官方网站设计与实现(HTML+CSS+JS)共8个页面
  13. 仪器采集信号后用matlab分析,基于MATLAB的语音信号采集和分析系统的可视化设计...
  14. LVDS通信协议以及概念
  15. matlab newton插值法,matlab中newton插值法
  16. 页面滚动到指定位置的方法
  17. linux 检查zip是否损坏,用-v参数 unzip -v test.zip 检查zip文件是否损坏代常亮
  18. 二维码怎么做到微信防封_分享在微信内做推广微信链接被屏蔽怎么解决,微信域名防封的技术分析
  19. 雷诺手表如何查真假?如何判断雷诺手表是否为真品?
  20. PL/SQL计算质数

热门文章

  1. 国内访问Github的方法
  2. Ansiable批量管理工具
  3. NOI 1.5编程基础之循环控制_02:财务管理(编辑过程解)
  4. 扒一扒那些叫欧拉的定理们(七)——欧拉线定理的证明
  5. Mac新手使用技巧——Safari浏览器
  6. c/c++ 输入两个日期,计算日期相差多少天
  7. IGP LDP同步技术剖析
  8. 计算机网络原理自考挂科率,3个“挂科率高”的专业,补考更是难上加难,看你专业上榜了吗...
  9. Quality Assurance (质量保证)
  10. hive 的tmp文件