mybatis和SQLserver之间的那些小坑

7 篇文章 0 订阅

因为业务需要,需要使用SQLserver,工作以来就只用过MySQL,SQLserver大学毕业后就没见过了,本来想着和mysql大同小异,结果踩了坑:

1、左链接查询问题,一直以来我们说起左链接都下意识想起以左表为主,左表有的数据显示,没有则不显示,但是,就在这里,我中计了,年轻人还是见识短,我踩坑了,我的业务需求是根据一批设备查询对应的设备记录(一个设备对应记录多条),然后我寻思主要查询记录,那我就直接以记录表为左表,设备表为附表好了,查询完我就准备直接用了,但是我寻思验证一下数据正确性,就是这一步救了我,我内连接又查询了一次,两次数据对不上了,我就迷惑了,最终结论是左链接会有重复数据,我就用内连接了,但还是不放心,毕竟左链接都打破的的认知了,我用笨方法,在程序中for循环查询记录,然后发现内连接也有重复数据,就百度解决问题,百度上说使用distinct关键字,去重,果然好使了,最终我是:

内连接加distinct关键字解决问题

2、批量插入问题,在mybatis中使用foreach批量插入,我都是习惯一次500条,但在SQLservice这里就不行,

疯狂报java.sql.SQLException: Prepared or callable statement has more than 2000 parameter markers

百度了一下,大概是说我传入的参数太多了,超过2000个了(我的是传入对象集合,对象有五个属性),然后我改成400条一次,果然好使了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值