摘要: --删除重复数据只留一条delete from t_kpi_province_m where id not in ( select max(id) from t_kpi_province_m t group by t.指标)--商品数量SELECT 商品名称,SUM(商品总量)剩余数量 FROM(SELECT * FROM AAAUNION ALLSELECT 商品名称,-出库数量 FROM BBB)A GROUP BY 商品名称--查连胜超过两次的球队select max(nn.team) team, min(nn.y) B, max(nn.y) + 1 E from (select n2. 阅读全文
posted @ 2012-10-22 21:36 Mr-sniper 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 项目使用SSH架构,现在要添加Spring事务管理功能,针对当前环境,只需要添加Spring 2.0 AOP类库即可。添加方法:点击项目右键->Build Path->Add librarys:打开Add Libraries对话框,然后选定 MyEclipse Libraries:点击Next,找到Spring 2.0 aop Libraries并勾选上,点击finsh即可。如果在项目里面能看到下面的库文件,说明已经安装成功。事务配置首先在/WEB-INF/applicationContext.xml添加以下内容:<!-- 配置事务管理器 --><bean id= 阅读全文
posted @ 2012-10-22 13:35 Mr-sniper 阅读(212) 评论(0) 推荐(0) 编辑
摘要: Spring提供了几个标志接口,用来改变容器中bean的行为。包括InitializingBean和DisposableBean.实现这两个接口的bean在初始化和析构时,容器都会调用前者的afterPropertiesSet()方法,以及后者的destroy()方法。Spring在内部使用BeanPostProcessor实现来处理它能找到的任何标志接口并调用相应的方法。如果需要自定义特性或者生命周期行为,可以实现自己的BeanPostProcessor。关于这个请参照之前的容器扩展点。1)初始化回调:package springapp.test.beanCustomizing;import 阅读全文
posted @ 2012-10-19 17:53 Mr-sniper 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 注入依赖:依赖:对象之间存在的相互关系注入依赖:对象通过一些方式形成的相互关系(构造器的参数、工厂方法的参数,或给由构造函数或者工厂方法创建的对象设置属性),相比之前的bean自己来控制本身实例化(在构造器中指定依赖关系或者类似使用服务定位器模式来自助控制依赖关系的注入)容器实现了在创建bean时注入这些依赖关系,控制从根本上发生了倒转,也这里也就是我们所说的IOC(控制翻转)。应用DI原则很明显的有点就是代码更清晰:bean自己本身不用担心与其他bean的依赖关系,实现更高层次的松耦合易如反掌。DI有两种注入方式,setter注入和构造器注入:我们通过下边的例子可以看出构造器方法注入会使程序 阅读全文
posted @ 2012-10-18 20:11 Mr-sniper 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 在spring中bean的作用域是spring容器用来返回调用者实例类型的在spring中有5中类型的作用域:先来比较一下singeton 和 prototype:package springapp.test; /** * @author zhangxuegang * @version 1.0 * @created 2012-10-16 下午11:09:38 */public class CustomerService { String message; public String getMessage() { return message; }... 阅读全文
posted @ 2012-10-18 19:09 Mr-sniper 阅读(271) 评论(0) 推荐(1) 编辑
摘要: 在spring中,那些组成应用程序主体 及springIOC容器所管理的对象,被称之为 bean,简单的讲,bean就是由spring容器初始化,装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了。而bean定位以及bean相互间的依赖关系将通过配置元数据来进行描述。容器org.springframework.beans.factory.BeanFactory 是Spring IoC容器的实际代表者,IoC容器负责容纳此前所描述的bean,并对bean进行管理。在Spring中,BeanFactory是IoC容器的核心接口。 它的职责包括:实例化、定位、配置应用程序中的 阅读全文
posted @ 2012-10-15 22:24 Mr-sniper 阅读(270) 评论(0) 推荐(0) 编辑
摘要: spring aop的底层实现有两种方式,一种是基于jdk的动态代理,只针对接口,还有一种是基于CGlib,这里结合springapp(spring官方示例项目)及《spring3.x企业应用开发实战》进行对基于CGlib的方式进行详细的阐述,代码示例可下载:在项目原有的基础上下载CGLIB支持包,下载地址:http://cglib.sourceforge.net/创建代理类:package springapp.util;import java.lang.reflect.Method;import net.sf.cglib.proxy.Enhancer;import net.sf.cglib. 阅读全文
posted @ 2012-10-10 13:58 Mr-sniper 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 文章从目录上对Spring有个大致的了解。-aspectj --它是在Spring框架下使用aspectj的源代码和测试程序文件。Aspectj是java最早的提供AOP的应用框架。-dist --它是Spring 的发布包,关于发布包下面会详细进行说明。-docs --它包含Spring相关的文档,包括有Spring api 的javadoc、reference 参考指南、Spring的标签库使用文件及Spring MVC 的MVC-step-by-step 讲解与示例。都是很好的文档, 值得好好研究一下。-lib --它包含Spring 所依赖的第三方开源包。-mock ... 阅读全文
posted @ 2012-09-28 13:31 Mr-sniper 阅读(529) 评论(0) 推荐(0) 编辑
摘要: http://www.dbasupport.com 阅读全文
posted @ 2012-09-24 17:47 Mr-sniper 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 报错内容:F:\springProject\springapp\build.xml:85: taskdef class org.apache.catalina.ant.InstallTask cannot be found错误原因:在tomcat以后的版本中,InstallTask类被替换为DeployTask所以直接替换类即可。Class InstallTask is deprecated & replaced by DeployTask, so later version catalina-ant.jar (tomcat set up) doesn't have class 阅读全文
posted @ 2012-09-19 00:09 Mr-sniper 阅读(223) 评论(0) 推荐(0) 编辑
摘要: Maven 环境的配置 现在Java新架构的不断出现,例如Struts,Spring,Hibernate等,项目的配置文件的增多,给开发人员带来很大麻烦。在实际的开发当中,Myeclipse中的project越来越庞大,所依赖的第三方Jar包越来越多,这显得Project很臃肿,给项目管理带来了很大不便,尤其实在一些大些项目。为了解决上述问题,Apache开源组织 早在几年前就发布了Maven,它适用于大的Java项目。开发中国移动的项目时,记得J2EE项目组都是采用这种方式管理项目的。 现在开始介绍配置Maven环境,我用的系统及环境是Win7 ,Jdk1.6 ,Myeclipse7.5。 阅读全文
posted @ 2012-09-18 17:46 Mr-sniper 阅读(1120) 评论(0) 推荐(0) 编辑
摘要: Linux下可以使用循环脚本进行对oracle定时备份,也可以用crontab。在Windows下,就是用windows的定时计划了,定时执行批处理文件。步骤:1.创建批处理文件文件内容:exp user/passwd@instancename full=y file=d:\%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.dmp log=d:\%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.log2.打开Windows,开始 阅读全文
posted @ 2012-09-11 19:29 Mr-sniper 阅读(206) 评论(0) 推荐(0) 编辑
摘要: --删除重复数据只留一条delete from t_kpi_province_m where id not in (select max(id) from t_kpi_province_m t group by t.指标)--删除重复数据delete from t_kpi_province_m where id not in (select (id) from (select max(id) as id, t.城市, t.类型, t.日期, t.指标 from t_kpi_city_d t wher... 阅读全文
posted @ 2012-09-11 13:53 Mr-sniper 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 1.各类别客户数:SELECT t.客户级别, count(t.客户级别)FROM RMW2.IRMS4PORTAL twhere t.客户级别 in('B类','A类','D类')group by 客户级别unionSELECT'C类',count(*)FROM RMW2.IRMS4PORTAL twhere t.客户级别 in('C -规模客户','C','C类')2.各类业务客户数 SELECT t.包含业务, count(t.包含业务)FROM RMW2.IRMS4PORTA 阅读全文
posted @ 2012-09-10 19:37 Mr-sniper 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 探查模式:declare names varchar2(60):='zhangxuegang,zhangsan,lisi,wangwu,zhaoliu'; names_adjusted varchar2(61); comma_delimited boolean; begin --查询是否包括某种模式 comma_delimited:=regexp_like(names,'^([a-z A-Z]*,)+([a-z A-Z]*){1}$'); --显示查找结果 dbms_output.put_line( case comma_delimited when true 阅读全文
posted @ 2012-09-06 16:40 Mr-sniper 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 假如一个User表 字段ID name description part1 张三 描述(部分1) 11 张三 描述(部分2) 22 李四 描述 13 王五 描述 1ID和part作为联合主键,由于description 字段可能很长,超过了varchar(4000)的范围,所以这种情况会分成多个part存储,如张三,分成了两个部分。现在需要一条select语句,需要取出后,如果字段是多个p... 阅读全文
posted @ 2012-08-24 10:20 Mr-sniper 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 原数据SQLSELECT substr(A.NE_NAME, 1, 3) city, ROUND(sum(A.COUNTER_1279177418 * 23 + A.COUNTER_1279177419 * 34 + COUNTER_1279177420 * 40 + COUNTER_1279177421 * 54) / 1024 / 1024 / 1024, 2) + ROUND(sum(B.COUNTER_1279178418 * 23 + B.COUNTER_1279178419 * 34 + ... 阅读全文
posted @ 2012-08-22 17:13 Mr-sniper 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 1.序列:sequence,实现功能,实现主键的自增长(sqlserver可直接设定),hibernate也做了实现Create sequence create sequence SNIPER_TEST_SQSminvalue 1maxvalue 999999999999start with 1increment by 1cache 10; 在表中的应用insert into sniper_test (id,name,degree,address) values (sniper_test_sqs.nextval,'张三','学士','山东');c 阅读全文
posted @ 2012-08-13 14:23 Mr-sniper 阅读(331) 评论(0) 推荐(0) 编辑
摘要: String call=\"{call proc_select(?,?)};\" //调用语句CallableStatement proc=con.preparecall(call); //调用存储过程proc.setString(1,\"12345678\"); //给输入参数传值proc.registerOutParameter(2,Type.varchar); //声明输出参数是什么类型的proc.execute(); //执行 String address=proc.getString(2); //获得输出参数Java code Callable 阅读全文
posted @ 2012-08-06 17:35 Mr-sniper 阅读(651) 评论(0) 推荐(0) 编辑
摘要: quartz.properties#---------调度器属性----------------org.quartz.scheduler.instanceName = TestSchedulerorg.quartz.scheduler.instanceId = one#---------线程配置---------------org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPoolorg.quartz.threadPool.threadCount = 2org.quartz.threadPool.threadPriority 阅读全文
posted @ 2012-08-02 14:55 Mr-sniper 阅读(265) 评论(0) 推荐(0) 编辑