
SQL
文章平均质量分 85
hittyt
这个作者很懒,什么都没留下…
展开
-
如何优雅的去做DAL层的UT
引子UT的重要性不言而喻,这里不用多说。但是,码农都知道,一段逻辑往往涉及到很多外部系统调用(不同的数据源、不同的服务等等),配合完成一段code真正想要完成的逻辑。 而UT(Unit Test)本身的重要思想之一,就是测试本单元的核心逻辑。我测试A,你却因为A依赖B,而导致测试的code跑不了,这个不科学。 于是,有了各种各样的mock技术,来模拟B的行为,按照你的需要,返回你期望的数据...2014-09-26 19:55:37 · 497 阅读 · 0 评论 -
Oracle中left join中右表的限制条件
无过滤条件的LEFT JOINSQL中最简单形式的LEFT JOIN,是直接根据关联字段,以左表为基准,对右表进行匹配。在SELECT语句中选取的字段,如果有右表的记录(一般都是需要右表的某些记录的),取出配对成功的右表记录中对应的这个字段的值;否则,直接置NULL。这本身就是LEFT JOIN的特点:保证左表记录完整,右表只是辅助匹配。直接看例子,为了演示,准备了两张测试表test1...原创 2013-06-10 12:03:46 · 2987 阅读 · 0 评论 -
利用Ibatis实现Mysql中的不重复插入记录
以下讨论全部针对Mysql数据库:) 通常业务上至少需要两种类型的不重复插入记录的需求: 如果某些关键字段已经在Mysql中存在了,不要重复插入,而是改为更新某些字段。如果某些关键字段已经在Mysql中存在了,不要重复插入,也不需要做更新操作,直接忽略即可。1、针对上面的第一种,mysql提供了insert into ... on duplicate key updat...2012-10-08 20:57:19 · 344 阅读 · 0 评论 -
Mysql的一种CommunicationsException异常
问题背景:一个项目需要启动一个定时器任务,隔断时间访问一下DB,后端DB使用的是Mysql。之前测试的时候,启动程序,自动运行没有问题,逻辑正常。周五晚上走后,启动程序,按照之前配置的Cron,周末程序会自动执行。周一来了之后查看DB的数据发现有问题,于是查看服务器的程序日志,发现爆出了如下错误(非关键错误省略。。。): Caused by: com.mysql.jdbc.except...原创 2012-07-02 13:27:03 · 760 阅读 · 0 评论 -
Ibatis中sqlmap参数map中还需要套list的情况如何写?
原始需求:有若干个参数,需要作为ibatis拼装sql的参数传入,但是有个参数的值比较特殊,是若干种枚举值。具体到这个case,就是有有限个namespace。我每次需要通过传入多个namespace来查询DB记录。准备需要传入sqlmap的参数的示例代码如下: Map<String,Object> ibatisParam = new HashMap&l...原创 2012-05-09 13:05:09 · 553 阅读 · 0 评论 -
典型的分页查询SQL
一、带排序的分页查询这里以修改DB中的修改记录顺序排列为例,查找第9990到10000条之间的记录:select t2.* from (select rownum rnum, t1.* from (select * from ABC p order by p.gmt_modified) t1 where rownum <= 100...原创 2011-02-21 14:08:24 · 141 阅读 · 0 评论