01 2014 档案
摘要:select * from A where id in (select id from B);select * from A where exists (select 1 from B where A.id=B.id);对于以上两种情况,in是在内存里遍历比较,而exists需要查询数据库,所以当B表数据量较大时,exists效率优于in。1、select * from A where id in (select id from B);in()只执行一次,它查出B表中的所有id字段并缓存起来。之后,检查A表的id是否与B表中的id相等,如果相等则将A表的记录加入结果集中,直到遍历完A表的所有记
阅读全文
摘要:FactTable:Afacttabletypicallycontainsthebusinessfactdatasuchassalesamount,salesquantity,thenumberofcustomers,andtheforeignkeystodimensiontables.DimensionTable:Dimensiontablescontaindetailedinformationrelevanttospecificattributesofthefactdata,suchasdetailsoftheproduct,customerattributes,storeinformat
阅读全文
摘要:本文转自http://stamen.iteye.com/blog/1907984问题 最近在整一个spring data redis,网上有一本《Spring Data》的电子书(我一个朋友正在翻译,应该今年会有中文版出来,人邮的),下载来看了一下,其中第8章讲到了Spring data对redis的支持。 redis虽然提供了对list set hash等数据类型的支持,但是没有提供对POJO对象的支持,底层都是把对象序列化后再以字符串的方式存储的。因此,Spring data提供了若干个Serializer,主要包括:JacksonJsonRedisSerializer JdkSeria.
阅读全文
摘要:左连接:包含所有的左边表中的记录甚至是右边表中没有和它匹配的记录。右连接:包含所有的右边表中的记录甚至是左边表中没有和它匹配的记录。select ename,deptname from emp left join dept on emp.deptno = dept.deptno;select ename,deptname from dept right join emp on dept.deptno = emp.deptno;================如上查询出来的结果是一样的。union和union all的主要区别是union all是把结果集直接合并在一起,而union是将unio
阅读全文
摘要:MYSQL UNION 操作符UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。MYSQLUNION 语法SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。MYSQLUNIONALL 语法SELECT column_name(s)
阅读全文
摘要:第一种方式:使用js函数eval();testJson=eval(testJson);是错误的转换方式。正确的转换方式需要加(): testJson = eval("(" + testJson + ")");eval()的速度非常快,但是他可以编译以及执行任何javaScript程序,所以会存在安全问题。在使用eval()。来源必须是值得信赖的。需要使用更安全的json解析器。在服务器不严格的编码在json或者如果不严格验证的输入,就有可能提供无效的json或者载有危险的脚本,在eval()中执行脚本,释放恶意代码。js代码:[javascript]vi
阅读全文
摘要:// 绑定导出按钮 $("#btnExport").clickCheckLogin(function () { var form = $(""); form.attr('style', 'display:none'); form.attr('target', ''); form.attr('method', 'post'); form.attr('action', 'AjaxPost.aspx'); var input1 = $
阅读全文
摘要:对于快速学习ibatis而没有过多时间去查阅资料的朋友,比如我,可能有些东西不一定能在快速上手的文档中涉猎到。今天就碰到一个问题,要在分页 查询的同时进行where语句删选操作。由于表记录比较少,因此采用了in语句,但是in语句所设计的字段是number型的,因此在拼凑出in后面括号 所需的内容时,出现了错误。说内容不是数字还是说不能为字符串,有点忘了,反正就是吧拼凑的in里的内容当成字符串‘’了。解决:在sqlmap文件中不使用“#VALUE#”来原样(参数对应什么类型,就当什么类型,比如拼凑的内容为string则自动加上了‘’)读 取,而是$VALUE$方式来读取,即不加任何的东西,比如单
阅读全文
摘要:进入debug模式:1、设置断点2、启动servers端的debug模式3、运行程序,在后台遇到断点时,进入debug调试状态=============================作用域 功能 快捷键全局 单步返回 F7全局 单步跳过 F6全局 单步跳入 F5全局 单步跳入选择 Ctrl+F5全局 调试上次启动 F11全局 继续 F8全局 使用过滤器单步执行 Shift+F5全局 添加/去除断点 Ctrl+Shift+B全局 显示 Ctrl+D全局 运行上次启动 Ctrl+F11全局 运行至行 Ctrl+R全局 执行 Ctrl+U=============================1
阅读全文
摘要:Runnbale封装一个异步运行的任务,可以把它想象成一个没有任何参数和返回值的异步方法。Callable和Runnable相似,但是它有返回值。Callable接口是参数化的类型,只有一个方法callpublic interface Callable {V call() throws Exception;}类型参数就是返回值的类型,例如:Callable表示最终返回一个String的异步操作(计算)Runnbale封装一个异步运行的任务,可以把它想象成一个没有任何参数和返回值的异步方法。Callable和Runnable相似,但是它有返回值。Callable接口是参数化的类型,只有一个方法c
阅读全文
摘要:原文地址:http://blog.sina.com.cn/s/blog_4b9eab320100slyw.html可以看作命令行浏览器1、开启gzip请求curl -I http://www.sina.com.cn/ -H Accept-Encoding:gzip,defalte2、监控网页的响应时间curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "http:
阅读全文
摘要:Posted on2011-05-14所谓BOM,全称是Byte Order Mark,它是一个Unicode字符,通常出现在文本的开头,用来标识字节序(Big/Little Endian),除此以外还可以标识编码(UTF-8/16/32),如果出现在文本中间,则解释为zero width no-break space。注:Unicode相关知识的详细介绍请参考UTF-8, UTF-16, UTF-32 & BOM。 对于UTF-8/16/32而言,它们名字中的8/16/32指的是编码单位是多少位的,也就是说,它们的编码单位分别是8/16/32位,换算成字节就是1/2/4字节,如果是多
阅读全文
摘要:背景:java普通的文件读取方式对于bom是无法正常识别的。 使用普通的InputStreamReader,如果采用的编码正确,那么可以获得正确的字符,但bom仍然附带在结果中,很容易导致数据处理出错。另外,对于存在BOM头的文件,无法猜测它使用的编码。目标:实现一种方式,可对BOM头进行捕捉和过滤解决方案有二:一、 使用apache的工具类,以BOMStream为例: BOMStream,api参考:http://commons.apache.org/io/apidocs/org/apache/commons/io/input/BOMInputStream.html 该类的构造方式: BO.
阅读全文
摘要:ServletRequest的getServletContext方法是Servlet3.0添加的,这个可以看一下官方文档http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#getServletContext()而Tomcat6只支持到Servlet2.5看它的官方文档可以知道,要用J2EE6的话得换成Tomcat7http://tomcat.apache.org/tomcat-6.0-doc/index.html旧版本需要先用request拿到HttpSession或者通过Servlet自身拿到Servle
阅读全文
摘要:import java.io.File;import java.util.ArrayList;import java.util.List;import java.util.Queue;/** * @author tiwson 2010-06-02 * */public class FileSearcher { /** * 递归查找文件 * @param baseDirName 查找的文件夹路径 * @param targetFileName 需要查找的文件名 * @param fileList 查找到的文件集合 */ public s...
阅读全文
摘要:package com.lanp;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStrea
阅读全文
摘要:http://blog.csdn.net/liangoo7/article/details/7882773java中写.txt文件,实现换行的几种方法:1.使用java中的转义符"\r\n":Java代码 Stringstr="aaa";str+="\r\n"; 这样在str后面就有换行了. 注意:\r,\n的顺序是不能够对换的,否则不能实现换行的效果.2.BufferedWriter的newline()方法:Java代码 FileOutputStreamfos=newFileOutputStream("c;\\11.txt
阅读全文
摘要:技术前提:我们使用iBatis作为持久层方案技术场景: 假设我们有两张表,一张主表Main,一张子表Sub,并且主表的主键是由数据库维护的自增长的主键,子表中有一个字段引用这个主键,那么当我们插入主表数据后,就需要马上返回这个自增长的主键。解决方案: 可以在insert时通过iBatis的selectKey返回那个主键。 selectKey有3个主要的属性: 1)resultClass:返回的主键的数据类型,跟sqlMap中的数据类型一致; 2)type:表示主键在insert之前或之后生成(取决于数据库的主键生成策略),取值分别为[pre|post],非必须,未填写时如果在insert之前表
阅读全文

浙公网安备 33010602011771号