数据库
卡卡的喵
这个作者很懒,什么都没留下…
展开
-
mysql 根据某个字段的一部分来分组
1.数据长这个样子,test表有2个字段,id和name,根据name来分组,name前面一段相同,后面的序号不同,这种算一组数据。2.分完组是这个样子3.sqlSELECT LEFT ( a.name, ( IF ( char_length(a.name) - char_length( SUBSTRING_INDEX(a.name, '-', - 1) ) = 0, char_length(a.name), char_l..原创 2021-10-09 18:03:15 · 3119 阅读 · 0 评论 -
eclipse使用mybatis时,xml没有提示标签信息
eclipse使用mybatis时,xml没有提示标签信息,就是按alt+/的时候应该出现以下画面,但是没有出现提示信息百度了一下,其实这个问题很好解决,但就是有很多人写了一些误导别人的文章,导致增加了大家解决问题的时间成本。我自己整理了一下,亲测可用1.首先下载mybatis-3-mapper.dtd(下载地址)这个文件(我在一篇文章里看到说要用mybatis-3-config.dtd这个文件,让我掉进坑里,浪费了一些时间)。下载完后放到随便一个目录里,比如D:\doc\mybatis-3原创 2020-08-06 17:04:54 · 803 阅读 · 0 评论 -
今天用mybatis又掉进坑里了(插入数据后获取最大的主键值)
很久没有用“插入数据后获取最大的主键值”这个功能了,有点忘记,于是翻看笔记,关键点就是下面这段<insert id="add" parameterType="cn.test.Question" keyProperty="id"> <selectKey keyProperty='id' resultType='long' order='AFTER' > select LAST_INSERT_ID(); </selectKey>省略...</i原创 2020-08-03 17:03:56 · 988 阅读 · 0 评论 -
sql语句中,双竖线“||”遇到的坑
1.业务背景以前的一个项目是用oracle做的,现在改成maria数据库,orm用的是mybatis2.遇到的问题本以为换个数据库只要改些配置就行了,没想到遇到一个like语句的问题,无论条件传入什么,返回的是全部的值sql是这样写的 <if test="name!= null and name!= ''"> and name like '%'||#{name}||'%' </if>3.调查结果原来双竖线“||”在ora.原创 2020-06-08 16:34:34 · 10820 阅读 · 0 评论 -
mybatis缓存造成的out of memory
业务上有个数据处理的程序,需要把某个表的数据全部抽出来做处理,为了考虑性能和内存问题,我已经通过分批的方式来查询数据,但在测试环境运行时,还是报了out of memory的异常,最后发现原来是mybatis的一级缓存造成的,设置flushCache="true"问题解决。...原创 2020-04-10 14:19:08 · 660 阅读 · 1 评论 -
mysql where in带2个参数的查询方式
数据结构如下下面两句的查询结果都是一样的SELECT idFROM t3WHERE (n1, n2) IN ( SELECT n1, n2 FROM t3 WHERE id <= 2 )------------------------------------------------------SELECT idFROM t3WHER...原创 2018-07-05 12:20:28 · 13696 阅读 · 0 评论 -
mysql函数concat的坑
select CONCAT(null,"aaaa");select CONCAT("aaaa",null);上面这2种写法,返回的值都为Null所以如果要把两个变量的值concat的话,需要替换掉Null值,不然的话只要某个变量为null,结果都为null正确的写法应该是select CONCAT(ifnull(null,''),"aaaa");...原创 2018-12-20 17:02:43 · 5239 阅读 · 0 评论 -
分享一个牛人的技术博客
http://hedengcheng.com/?p=771#_Toc374698322原创 2019-09-06 18:01:44 · 324 阅读 · 0 评论 -
记录一下mybatis遇到的一个坑
<select id="getList" resultType="com.test.AClass"> SELECT b.id, b.sth FROM a LEFT JOIN b ON a.id = b.id</select>比如以上这段代码,如果a表和b表左联,如果返回的b.id和b.sth都为null,那么getList这个方法返回的List&l...原创 2019-09-27 11:28:27 · 330 阅读 · 0 评论 -
mysql SUBSTRING方法的用法
1.SELECT createDate FROM DeviceInfo WHERE createDate 2.SELECT SUBSTRING(createDate FROM 1 FOR 8)AS DATE FROM DeviceInfo WHERE SUBSTRING(createDate FROM 1 FOR 8)原创 2015-03-27 13:19:42 · 2802 阅读 · 0 评论