1.MyBatis实现模糊查询
1.${…}代替#{…} 2.把’%#{name}%’改为”%”#{name}”%” 3.使用sql中的字符串拼接函数 4.使用标签bind
select id, sex, age, username, password from person where username LIKE #{pattern}
2. group_concat函数
用法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符’] )
group_concat长度限制
mysql中group_concat函数对此函数的处理结果字符串长度是有限制的,默认为1024;所以如果结果字符串太长的话,就会在数据库里被截取,因此没有显示全部数据。
解决方法: 1、SET GLOBAL group_concat_max_len = 102400; //其中数字大小可修改 注意:该方法缺点是重启服务后设置失效
2、在MySQL配置文件(my.ini)中加: group_concat_max_len = -1 # -1为最大值或填入你要的最大长度 并重启mysql
3. order_by函数
order by id desc, time desc 首先按id降序排列(优先),如果id字段一样,再按time降序排列(前提是满足id降序排列)
order by name, age desc name优先,name一样的话,就按age排序。后面再加第三列的话一样,以此类推下去
order by 几种排序的写法
1.单例升序
select from order by ;(默认排序,即不写ASC)
2.单列降序
select from order by desc;
3.多列升序
select , from order by ,;
4.多列升序
select , from order by , desc;
5.多列混合排序
select , from order by desc, asc;