一,当向数据表中插入一条数据时,一般先检查该数据是否已经存在,如果存在更新,不存在则新增 使用关键字 ON DUPLICATE KEY UPDATE
zk_device_id为主键
![](https://images2017.cnblogs.com/blog/1075082/201801/1075082-20180111152205926-1028975399.png)
model PushBindRecord
![](https://images2017.cnblogs.com/blog/1075082/201801/1075082-20180111152239207-1536023630.png)
二,批量查询 使用List
![](https://images2017.cnblogs.com/blog/1075082/201801/1075082-20180111152347519-213242365.png)
三,查询数据表一列中不重复的内容 使用关键字 distinct
![](https://images2017.cnblogs.com/blog/1075082/201801/1075082-20180111152551144-1808243157.png)
四, 使用map批量插入,或者更新
![](https://images2017.cnblogs.com/blog/1075082/201801/1075082-20180111152745394-714567203.png)
![](https://images2017.cnblogs.com/blog/1075082/201801/1075082-20180111152806113-1801463475.png)
当使用map批量插入或者更新的时候,要在链接数据库的地址上配置 allowMultiQueries=true 或者会报sqlexception异常。
测试用例:
![](https://images2017.cnblogs.com/blog/1075082/201801/1075082-20180111153106410-1090655306.png)
五,查询时判断查询条件是否存在if判断:
![](https://images2017.cnblogs.com/blog/1075082/201801/1075082-20180111153257910-1046136740.png)
![](https://images2017.cnblogs.com/blog/1075082/201801/1075082-20180111153351801-1329741285.png)
注意当if判断的字段传入参数是integer类型时,if判断中and后面判断为空的另一个条件要去掉,否则当integer类型没有默认值的时候是不为空,if判断会出问题。
![](https://images2017.cnblogs.com/blog/1075082/201801/1075082-20180111153555051-1087489155.png)
有问题请留言!