-
mybatis的动态sql详解(精)
MyBatis的一个强大的特性之一通常是它的动态SQL能力。如果你有使用JDBC或其他相似框架的经验,你就明白条件地串联SQL字符串在一起是多么的痛苦,确保不能忘了空格或在列表的最后省略逗号...
数据库操作教程 2022-09-23 17:54:04 -
SQL中distinct的用法(四种示例分析)
在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰很久,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的,所以浪费了我大量时间...
数据库操作教程 2022-09-23 17:49:35 -
SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(下)
sys.dm_os_waiting_tasks引发的疑问(下)前面写了两篇了,其实不光是说sys.dm_os_waiting_tasks的应用,研究了挺长时间的并行,自己有了一些理解,所以分享出来希望有什么理解错误的地方大神们及时纠正!! 给出前两篇的连接:SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(上)SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(中)前面两篇的编写有一个疑惑...最初认为的并行比如这个语句: select*fromt1innerjoint2ont1.a=t2.aOPTION(querytraceon8649) 在我的理解并行是开几个线程去获取T1数据,另外几个线程获取T2数据,然后关联结果形成最后结果集。可是试验了才发现自己原来想的和看到的结果不太一样呀!!!! 下面我们用前两篇的例子继续做试验... 这次我们2张表同时给锁住,看看等待里是什么情况...
数据库操作教程 2022-09-23 17:49:13 -
将string数组转化为sql的in条件用sql查询
例如:我想将String[]str={"4","5","6"}转化为“‘4',‘5',‘6'”字符串。这样我就可以用sql查询:select*fromtableNameidin(字符串)了...
数据库操作教程 2022-09-23 17:48:46 -
mssqlserver中实现的unix时间戳函数(含生成和格式化,可以和mysql兼容)
直接上代码:CREATEFUNCTIONUNIX_TIMESTAMP(@ctimestampdatetime)RETURNSintegerASBEGIN/*Functionbody*/declare@returnintegerSELECT@return=DATEDIFF(SECOND,{d'1970-01-01'},@ctimestamp)return@returnENDCREATEFUNCTIONfrom_unixtime(@tsinteger)RETURNSdatetimeASBEGIN/*Functionbody*/declare@returndatetimeselect@return=DATEADD(second,@ts,{d'1970-01-01'})return@returnEND用法跟MySQL下的一样类似:selectdbo.UNIX_TIMESTAMP('2013-1-1')selectdbo...
数据库操作教程 2022-09-23 17:47:59 -
如何把sqlserver数据迁移到mysql数据库及需要注意事项
在项目开发中,有时由于项目开始时候使用的数据库是SQLServer,后来把存储的数据库调整为MySQL,所以需要把SQLServer的数据迁移到MySQL。下面是小编日常整理的一种sqlserver数据库迁移的方法...
数据库操作教程 2022-09-23 17:46:48 -
SQL获取第一条记录的方法(sqlserver、oracle、mysql数据库)
Sqlserver获取每组中的第一条记录在日常生活方面,我们经常需要记录一些操作,类似于日志的操作,最后的记录才是有效数据,而且可能它们属于不同的方面、功能下面,从数据库的术语来说,就是查找出每组中的一条数据。下面我们要实现的就是在sqlserver中实现从每组中取出第一条数据...
数据库操作教程 2022-09-23 17:46:16 -
SQLServerFileStream详解
FILESTREAM是SQLServer2008中的一个新特性,允许以独立文件的形式存放大对象数据,而不是以往一样将所有数据都保存到数据文件中。以往在对业务系统的文件进行管理时有两种方法,一种是将文件保存到服务器文件系统中,数据库中只保存了该文件的路径,在使用该文件时应用程序连接到服务器读取文件;另一种是将文件以varbinary(max)或image数据类型保存到SQLServer中...
数据库操作教程 2022-09-23 17:44:48 -
MySql查询不区分大小写解决方案(两种)
当我们输入不管大小写都能查询到数据,例如:输入aaa或者aaA,AAA都能查询同样的结果,说明查询条件对大小写不敏感。解决方案一:于是怀疑Mysql的问题...
数据库操作教程 2022-09-23 17:44:44 -
SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(上)
很多人在查看SQL语句等待的时候都是通过sys.dm_exec_requests查看,等待类型也是通过wait_type得出,sys.dm_os_waiting_tasks也可以看到session的等待那么有什么区别呢.... 废话不多说直接开整. 测试版本2012 sys.dm_os_waiting_tasks的字段说明:waiting_task_addressvarbinary(8)等待任务的地址。session_idsmallint与任务关联的会话的ID...
数据库操作教程 2022-09-23 17:44:21 -
MyBatisMapperProviderMessageFormat拼接批量SQL语句执行报错的原因分析及解决办法
最近在项目中有这么一段代码:下载服务器基础业务数据进行本地批量插入操作,因项目中使用mybatis进行持久化操作,故直接考虑使用mybatis的批量插入功能。1.以下是Mapper接口的部分代码publicinterfacePrintMapper{@InsertProvider(type=PrintMapperProvider.class,method="insertAllLotWithVehicleCode4H2")voidinsertAllLotWithVehicleCode(List<LotWithVehicleCodeBO>lotWithVehicleCodes);}2.对应MapperProvider中函数片段publicStringinsertAllLotWithVehicleCode4H2(Map<String,List<LotWithVehicleCodeBO>>map){List<LotWithVehicleCodeBO>lotWithVehicleCodeBOs=map.get("list");StringBuilde...
数据库操作教程 2022-09-23 17:44:13 -
SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(中)
通过上篇文章给大家介绍了SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(上),说了一下sys.dm_exec_requests和sys.dm_os_waiting_tasks在获取并行等待的时候得不同结果,这一篇我们谈论下我的第二个疑问:为什么一个并行计划(4线程)却一下出现了那么多等待,SQL的并行到底是怎么执行的!!!! 先贴以下上篇sys.dm_os_waiting_tasks的结果图: 我们分析一下这个结果的task_address可以看出去掉重复其实只有9个,也就是说一个并行(4线程,配置不同,情况也不同)会有9个task。又是线程,又是task,还有worker,schedulers这些都是什么?这个有必要先说一下,因为这篇博客前我也是乱乱的...
数据库操作教程 2022-09-23 17:44:07