mysql日期函数及批量循环返回主键ID

时间:2023-03-10 07:01:18
mysql日期函数及批量循环返回主键ID

实际项目中总是会遇到各种时间计算查询等等许多时候是特别麻烦前阵子公司有个需求大致是要查询当前日期与数据库存储日期之差,本来写了个工具类调用的但是最后觉得这样不好就想着能不能用函数解决,没想到还真有这里分享下,sql如下:

select datediff('2017-04-21',(select now())) as days;日期相减得到天数,简单吧,获取当前日期其实也是有函数的,但是有的mysql版本不支持具体各位自己尝试,还有一个就是日期格式查询处理也很简单DATE_FORMAT(
                t1.cfcadownloadtime,
                '%Y-%m-%d %H:%i:%s')写自己想要的格式就OK,日期这块比较简单,但是这个循环批量返回id真的是难住我好久,大家都知道
<selectKey resultType="Integer" keyProperty="uid" order="AFTER">
            SELECT
            LAST_INSERT_ID() as uid
        </selectKey> 这种方式可以返回单个ID,其实他的方式就是查询最后一条添加数据的主键,或者呢useGeneratedKeys="true" keyProperty="rid" 这样,但是批量的他就是不行,在百度上搜索好久看到好多人也遇到这个问题其实原因也很简单mybatis升到3.1版本以上就OK,这个可以说是mybatis的一个BUG在3.1以后修复了,虽然这些问题看起来简单可是做起来确实是费事,也算是前车之鉴吧