以下记录和转载仅是自己在写相似需求时参考过比较有价值的文章或者自己写过后用来保存记录,以便持续复习参考
一.if-else的写法
mybaits 中没有else要用chose when otherwise 代替
范例一
其中choose为一个整体
when是if
otherwise是else
范例二:
下面就是MyBatis中的if....else...表示方法
以上转自:
二.sql 查询 group by分组 后 获得每组中时间最大 记录
SUBSTRING_INDEX()取出n个数据
三.mysql的instr函数
INSTR(STR,SUBSTR) 在一个字符串(STR)中搜索指定的字符(SUBSTR),返回发现指定的字符的位置(INDEX);
STR 被搜索的字符串
SUBSTR 希望搜索的字符串
结论:在字符串STR里面,字符串SUBSTR出现的第一个位置(INDEX),INDEX是从1开始计算,如果没有找到就直接返回0,没有返回负数的情况。
四.记录mybatis实际中bind的一次运用记录
五.记录mybatis一次递归的写法
最近有个需求要查询树形结构指标分并计算,但是树形的层数是未知的,这个需求考虑过遍历来实现,但是做起来就比较困难,思考后认为递归更好的能解决此类型需求,在mybatis里初步尝试,代码如下:
六.mysql插入和更新设置自动当前时间
1.timestamp :表示该字段在插入和更新时都不会自动设置为当前时间。
2.timestamp default current_timestamp :字段插入时如果没有时间则自动设置为当前时间,更新没有变化。
3.timestamp on update current_timestamp:字段插入不会自动设置,字段更新时没有指定时间则自动设置为当前时间。
4.default current_timestamp on update current_timestamp:插入和修改字段时如果没有指定时间则会自动设置为当前时间。
5.timestamp default ‘yyyy–mm–dd hh:mm:ss’ on update current_timestamp