- 博客(386)
- 资源 (29)
- 收藏
- 关注
转载 Oracle中如何用一条SQL快速生成10万条测试数据
转载 http://blog.csdn.net/yzsind/article/details/4967133做数据库开发或管理的人经常要创建大量的测试数据,动不动就需要上万条,如果一条一条的录入,那会浪费大量的时间,本文介绍了Oracle中如何通过一条SQL快速生成大量的测试数据的方法。产生测试数据的SQL如下:SQL> select rownum as id, 2
2012-04-20 14:08:41 4798
原创 Oracle 表中的列带有default值的陷阱
在Oracle中,对于表的列可以为其指定默认值,这样在insert数据的时候,如果该列不出现在insert语句中的时候,会为其赋上默认值.注意这里是该列不出现在insert语句中,而不是该列的值为空值的时候.如下面的表:create table test(id number(10),name varchar2(20) default 'name')当用下面的SQL语句插入行的时候,会给na
2012-04-18 11:42:10 3531
原创 IN,NOT IN,ANY和ALL用于比较子查询返回多行数据时你不知道的陷阱
本文简单讲述一下在使用IN,NOT IN,ANY,ALL等对从子查询中返回的数据做比较的时候一不小心就会犯的错误.测试的的数据如下:TEST表中有3条数据,其中id为3的行name的值为null.IDName1name12name23 1,IN在子查询不返回数据的时候得到结果是false,这个比较容
2012-04-17 11:54:37 4222
原创 Spring声明事务的时候如果代码中有commit会发生什么
在利用Spring声明的事务和Spring提供的对持久层的Template操作数据库的时候,原则上不要在代码里写事务控制的语句(commit).1,用JdbcTemplate和JDBC集成的时候: public void testInsert(int id, String val) { this.jdbcTemplate.update("insert into A (ID, V
2012-04-10 17:04:39 10157
原创 Spring AOP中pointcut expression表达式解析
Pointcut 是指那些方法需要被执行"AOP",是由"Pointcut Expression"来描述的.Pointcut可以有下列方式来定义或者通过&& || 和!的方式进行组合. args()@args()execution()this()target()@target()within()@within()@annotation其中executio
2012-04-09 17:36:36 167975 11
转载 MyBatis之动态SQL语句
有些时候,sql语句where条件中,需要一些安全判断,例如按某一条件查询时如果传入的参数是空,此时查询出的结果很可能是空的,也许我们需要参数为空时,是查出全部的信息。使用Oracle的序列、mysql的函数生成Id。这时我们可以使用动态sql。下文均采用mysql语法和函数(例如字符串链接函数CONCAT)。3.1 selectKey 标签在insert语句中,在Oracle经常
2012-04-09 14:19:39 4906
转载 MyBatis之SQL语句映射文件增删改查和Java参数如何对应
转载 http://limingnihao.iteye.com/blog/781911select一个select 元素非常简单。例如: SELECT ST.STUDENT_ID, ST.STUDENT_NAME, ST.STUDENT_SEX,
2012-04-09 14:07:42 19767 1
原创 Apache Camel Route节点的消息载体Exchange
在Camel的route中,消息在Route的各个节点中是以Exchange的形式传递的,所以对Exchange结构的理解对使用Camel来说是很重要的.Exchange ID 如果不指定,Camel会默认设置一个,可以用来标识一个route的一次执行.MEP message exchange pattern,有InOnly和InOut方式.Exception 但route出异常的时候
2012-04-06 17:11:25 10478 1
原创 MyBatis映射文件的resultMap如何做表关联
MyBatis的核心是其映射文件,SqlMap文件,里面配置了项目中用到了什么SQL语句,和数据库相关的逻辑都在这个映射文件里.顾名思义,映射文件就是对Java对象和SQL的映射.这里简单介绍一下映射文件中resultMap的用法:resultMap – 它描述如何将结果集映射到Java对象.resultMap属性:type为java实体类;id为此resultMap的标识:resultM
2012-04-06 12:16:51 45538 7
原创 MyBatis之实例简介
MyBatis的本质是一个将SQL语句map到JAVA POJO的框架.(注意与其他ORM框架的区别,如Hibernate是数据库对象到JAVA对象的mapping).它不是用来消除SQL语句的,它主要是用来将SQL从代码中分离出来集中写在map文件中,免除在Java代码中写SQL语句时容易出现少写逗号,SQL语句格式不易读,JDBC重复的大量样板代码等问题.下图是MyBatis的概念视图(图
2012-04-05 16:55:26 11174 1
原创 Spring Portlet MVC开发入门示例
本文通过一个简单实例介绍一下Spring 的Portlet MVC框架.Spring Portlet MVC和其Web MVC可以说是如出一辙,只是在Web MVC中处于核心的DispatcherServlet在Portlet MVC中换成了DispatcherPortlet,如下图描述了Portlet request是如何被处理的.关于Spring 的Web MVC,请参照 http://b
2012-03-09 12:10:54 7297 1
原创 Web项目开发环境中运行在Tomcat时涉及到JNDI的Datasource的解决方法
通常在J2EE的开发中,需要用到在服务器上通过JNDI配置的Datasource,如最后的应用在Weblogic上运行,而在开发环境的本地机器中可能是Tomcat,这时候需要在Tomcat上配置一个Datasource,在网上看到很多人的解决办法都是改Tomcat运行环境的server.xml 或者context.xml,其实最简单的办法是在项目的META-INF目录里加入一个context.xm
2012-02-28 14:39:39 4661
原创 Spring的WebServiceTemplate访问WebService的方法及其本质原理
WebService客户端调用的本质就是将SAOP格式的XML通过通信协议发送到WebService的服务器端,然后接收服务器端返回的XML.本文简单介绍一下如何通过Spring提供的WebServiceTemplate访问Webservice,WebServiceTemplate与调用webservice的客户端已及webservice服务器端示意图如下(图片来源于Spring in Act
2012-02-24 15:51:23 33100 5
原创 Portal之Portlet如何与容器交互
Portlet运行在Portlet容器中,由Portlet容器在特定的时间点调用Portlet的方法,那么Portlet应该有哪些方法,这些方法在什么时候被Portlet容器调用呢?本文对此做一个简单的介绍.Portlet必须实现javax.portlet.Portlet接口,不过在实际的开发中,一般都是实现GenericPortlet,因为GenericPortlet已经提供了一些默认的实现
2012-02-23 16:45:03 5590
原创 Spring No adapter for handler异常
在Spring MVC框架中,当通过注解@Controller方式实现控制器和其他不同类型的控制器(如继承Controller的方式的控制器)一起使用的时候,通常需要配置Adapter.1,在和继承SimpleFormController 作为控制器使用的时候(public class LoginController extends SimpleFormController ),需要在-ser
2012-02-23 13:03:55 29389
原创 Portal之LifeRay入门
Portal是在UI层为企业应用提供集成的一种方式.比如在某一个企业中,员工经常要使用一个和HR相关的系统ePerformance进行请假,绩效考评.同时还要使用一个用来管理客户的系统CRM,用来管理企业产品的系统eInventory,同时还使用一个用来做交流,文档共享的Wiki等等.这个企业的员工要使用ePerformance的时候需要登录到ePerformance,需要使用CRM的时候,又
2012-02-22 15:25:31 4216
原创 Bean在Spring容器中的生命周期
配置在Spring中的Bean在Spring容器中从加载到销毁会经历那些过程呢?如果实现一些特定的Spring接口,这些特定接口的方法会在什么时候被调用呢?本文简单介绍一下这些过程.Bean在Spring容器中的生命周期如下图所示:1,调用Bean的构造函数(或者工厂方法)实例化Bean.2,对Bean的成员变量赋值.3,如果Bean实现了BeanNameAware,调
2012-02-22 13:31:58 6998
原创 实例详解Spring MVC入门使用
MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller).通过分层使开发的软件结构更清晰,从而达到开发效率的提高,可维护性和扩展性得到提高.Spring提供的MVC框架是在J2EE Web开发中对MVC模式的一个实现,本文通过实例讲解一下Spring MVC 的使用.
2012-02-20 14:22:02 33725 6
转载 web.xml从2.3到2.4的issue
1,在web.xml不认解决办法: 如果是头是这样的 直接在后面加 /WEB-INF/struts-logic.tld /WEB-INF/struts-logic.tld 如果头是这样的 在后面加 /WEB-INF/validator-user.tld /WEB-INF/validator-user.tld
2012-02-17 16:33:17 2717
原创 Spring全局事务之JTA+Atomikos
本文简单介绍一下在Spring通过声明管理一个有数据库和ActiveMQ参入的全局事务,事务管理器的实现为Atomikos.全局事务的步骤为1,更新数据库操作.2访问ActiveMQ资源.3,提交在数据库A中的操作.4,提交在ActiveMQ中的操作.上面的所有步骤应该保证要么全部成功,要么全部回滚.下面是实现的步骤:1,配置Spring文件:<beans xmlns
2012-02-16 15:36:08 12656 2
原创 Spring全局事务之WebLogicJtaTransactionManager
全局事务是指在一个事务中涉及到几个事务参入者,这些事务参入者可以是我们常见的数据库操作,消息(MQ)操作等等.如同时进行下面的操作,比如"转账"操作发生在两个数据库:1,从数据库A的的表中将某个帐号的余额减少.2从数据库B的的表中将某个帐号的余额增加.3,提交在数据库A中的操作.4,提交在数据库B中的操作.通常单个数据库只能保证本数据库的事务要么提交要么回滚,当涉及的事务跨数据
2012-02-16 12:26:58 6364
原创 Oracle 中如何用一条SQL语句将“男的改为女的,女的改为男的”?
今天在群里碰到一个哥们问了一个问题:“问一个Sql,一个表中一个字段,sex char(4),里面存放的值是:男,女,这种形式,有很多条,用update把男修改成女,女修改成男,一条语句,怎么实现 ?”记录一下答案: UPDATE t SET sex= CASE WHEN (sex=1) THEN 0 WHEN (sex=0)
2012-02-14 20:58:39 6846 5
原创 Spring声明型事务管理示例详解
Spring不直接实现管理事务,它只是管理哪些方法需要有事务,通过AOP的方式调用底层的事务管理器进行事务管理.有需要事务管理的类是被Spring代理创建的,代理类通过在连接点前后插入预处理过程(开始事务)和后处理过程(commit或rollbak)实现事务管理.Spring定义了事务管理器(PlatformTransactionManager)预处理应该有些什么样的方法,在声明了事务的方法被
2012-02-14 16:59:53 4634
原创 Apache Camel框架之事务控制
本文简单介绍一下Apache Camel如何对route进行事务控制,首先介绍整个route只涉及到一个事务参与者的情况,然后再介绍route中涉及到多个事务参与者的情况.Camel是通过和Spring的框架集成进行事务控制的.1,整个route只有一个事务参与者,"局部事务",这里用JMS的例子,后台的MQ为ActiveMQ,示例图如下:(图片来源于Camel in Action)
2012-02-10 17:30:15 9112 1
原创 Apache Camel框架之Error handling
Apache Camel提供了许多处理路由过程出现的Exception的机制,本文简单介绍一下其异常处理的方法.1,默认的情况是在路由过程中没有处理的异常会被被抛出到路由的发起者,对发生异常的路由停止进行后续步骤的处理.比如下面的路由在process(p1)出错,那么当前路由停止,文件不会到达"d:/temp/outbox",同时d:/temp/inbox里造成异常的那个文件仍然留在d:/
2012-02-09 17:12:13 7486 1
原创 Hibernate的dynamic-insert和dynamic-update的使用
Hibernate在初始化的时候,默认按照配置为表预定义insert,delete,update,select(by id)的SQL语句放在session中,其中insert,update,select操作都是对表的所有字段操作.如果在一个表有很多字段的时候,在做初次inser的时候有比较多的字段为空值,或者经常update某少部分字段,应该在配置文件的元素上将dynamic-insert和dyn
2012-02-08 17:44:00 18442
原创 Apache Camel框架之Freemarker做数据转换
在做系统集成的时候,必不可少的任务就是将数据从一种格式转换为另一种格式,再把转换后的格式发到目标系统,在此用实例介绍一下Camel中利用Freemarker做数据转换.1,Freemarker的模板如下: ${p.fname} ${p.gname} ${p.ema
2012-02-08 16:46:41 6777
原创 Apache Camel框架之HTTP路由
继介绍完Camel如何处理FTP,JMS接口之后,今天介绍一下系统集成的时候经常遇到的另一个接口,HTTP,一个示例需求如下图所示:(图片来源于Camel in Action)本文给出一个简单的代码示例如何用Camel来实现这样一个应用:1,在一个JAVA类里配置如下路由:这里只示例了HTTP的部分,其他功能实现可以参见Apache Camel框架系列的其他博客.public cl
2012-02-08 13:06:58 19611 4
原创 Camel的数据转换
在做系统集成的时候,必不可少的任务就是将数据从一种格式转换为另一种格式,再把转换后的格式发到目标系统:Camel提供的Message translator可以分为:■ Using a Processor■ Using beans■ Using 1,利用processor的方式在Apache Camel框架入门示例 已经有个介绍.blog.csdn.net/kkdelta
2012-02-07 18:06:38 8393
转载 quartz中的corn表达式(转)
Quartz的cron表达式 一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。 按顺序依次为 秒(0~59) 分钟(0~59) 小时(0~23) 天(月)(0~31,但是你需要考虑你月的天数) 月(0~11) 天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT) 7.年份(1970-2099) 其中每个
2012-02-07 10:36:53 23893 1
原创 Apache Camel框架之JMS路由
继上次Camel如何在做项目集成类型的项目中用于从FTP取文件和传文件之后,我们在系统集成中经常遇到的另一个应用就是将数据通过JMS传到消息中间件的queue里,或者从消息中间件的queue里取消息.本文简单的介绍和示例一个用Camel实现这样的需求:监听某一个文件夹是否有文件,取到文件后发送到另外一个系统监听的queue.(图片来源于Camel in Action)1,因为要用JMS
2012-02-06 17:00:45 12492 5
原创 Apache Camel框架之FTP路由
在做项目集成类型的项目的时候,经常会有这样的需求,用户或者别的系统将文件传到一个FTP server,然后系统从FTP server取文件进行相应的处理.本文简单的介绍和示例一个用Camel实现这样的需求:监听FTPserver是否有文件,取到文件做相应处理传到另外一个系统. (图片来源于Camel in Action)1,搭建一个FTP server,从http://source
2012-02-06 15:54:15 11129 5
原创 Apache Camel框架集成Spring
Apache Camel提供了和Spring的集成,通过Spring容器(ApplicationContext)来管理Camel的CamelContext,这样的话,就不需要写代码来控制CamelContext的初始化,启动和停止了.Camel会随着Spring的启动而启动起来.本文将Apache Camel框架入门示例(http://blog.csdn.net/kkdelta/article
2012-02-06 15:03:55 20980 1
原创 Apache Camel框架入门示例
Apache Camel是Apache基金会下的一个开源项目,它是一个基于规则路由和处理的引擎,提供企业集成模式的Java对象的实现,通过应用程序接口 或称为陈述式的Java领域特定语言(DSL)来配置路由和处理的规则。其核心的思想就是从一个from源头得到数据,通过processor处理,再发到一个to目的的.这个from和to可以是我们在项目集成中经常碰到的类型:一个FTP文件夹中的文件,
2012-02-03 15:42:34 62925 10
原创 初识Oracle执行计划
1,先建立测试表和数据,CREATE TABLE EMP AS SELECT LEVEL EMPL_ID, (MOD (ROWNUM, 20)+1) DEPT_ID, SUBSTR(DBMS_RANDOM.STRING ('X', DBMS_RANDOM.VALUE (20, 50)),0,10) EMPNAME,
2012-02-02 17:10:44 1772
原创 生成Mybatis的Eclipse插件
1,下载插件所需要的jar包,拷贝到eclipse的 \eclipse\dropins目录,注意不是plugings目录,重新启动eclipse则可以使用了.http://download.csdn.net/detail/kkdelta/40408802,使用方法,在项目上点右键,点击如下图弹出的菜单选项.3,在弹出的界面中配置数据库信息:4,配置好后选择想要生
2012-02-02 13:41:14 11261 5
原创 JAVA客户端传递对象数组到Oracle存储过程做大数据量插入
最近在项目中用到了JAVA客户端传递对象数组到Oracle存储过程做大数据量插入,比如10万级别.下面做一个插入10万条记录的示例步骤,,为了容易理解,表的结果很简单.1,假设表结构如下:CREATE TABLE UKBNOVCTCORDER(LosingLEName varchar2(200),LosingLECode varchar2(200))2,在数据库建立一个type,对应
2012-02-01 17:37:38 8847 12
原创 FreeMarker在JAVA中应用入门
在项目中通常有生成XML文件发送到另一个系统的需求,简单的办法可以是用一个XML模板,通过Freemarker替换其中的'Mark'(${}),生成最终的XML文件.下面记录了一下简单的示例步骤:1,创建一个XML模板: ${p.fname} ${p.gname} ${p.ema
2012-01-30 17:58:09 11520 1
原创 从JAVA客户端访问Redis示例(入门)
本文记录了安装Redis和从JAVA端访问Redis的步骤从http://download.csdn.net/detail/kkdelta/4034137 下载本文所需文件.1,在Linux上安装Redis服务.下面的操作的base dir为 /root/4setuptar xzf redis-2.4.6.tarcd redis-2.4.6make安装完后启
2012-01-29 14:20:04 50688 8
转载 如何修复被设置为UNUSED的字段
如何修复被设置为UNUSED的字段,以下的方法可以恢复(以下步骤执行前要做好备份)。1、创建实验表TTTASQL> CREATE TABLE TTTA ( A INTEGER,B INTEGER,C VARCHAR2(10),D INTEGER);表已创建。SQL> INSERT INTO TTTA VALUES (1,2,'3',4);已创建 1 行。SQL> INSER
2012-01-28 20:43:59 2284
TPC-H_Tools_2.18.0_rc2_mysql.zip
2020-05-05
Linux上apache的安装文件
2012-07-12
J2EE 面试宝典(Lulu.com.Java.J2EE.Q.Companion.2nd.Edition.Apr.2007.pdf)
2012-01-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人