1. 打开工具oracle sql plus 以dba身份登录sys用户
sqlplus /nolog
conn sys@url as sysdba
2. 创建用户并指定表空间
使用客户端工具或者web管理控制台创建表空间以及用户
给用户赋予connect、resource、dba权限
grant connect,resource,dba to username;
3. 使用imp工具导入dmp数据文件
imp usernameurl file=c:\db.dmp fromuser=username1 touser=username log=c:\log.txt
-------------------------------------------------------------------------------------------------------------
其它命令:
select * from dba_users; --查询用户
大家有时间可以看看这本书,我觉得写的不错,至少我自己看完深有感触,我觉得完全可以将这几点套用到我们生活的很多方面,比如对于我们搞it的技术人员来说,我认为现在很多人也存在四大茫然:
茫然之一:只知道完成任务。也许是我年龄大了点,但我觉得现在很多小朋友,尤其是85年以后出生的,工作的时候只是在完成任务,事情做完了,有时也不测试,或者就是匆匆测试,匆匆结束,并没有好好的想为什么这件事老大要让我这样做,这样做有什么好处,会不会有缺点,我是不是有更好的方法。当你不去想的时候,意味着你少了很多提高的机会。
茫然之二:不追究为什么。很多人做事情就象第一条说的那样,只是完成任务,并不去想其中的原理是什么。面试过很多人,对于目前工作两三年的大部分人来说(当然我面试的不是好的学校毕业的,基本学校为中等偏下点),一旦涉及到spring、hibernate、struts等框架深入点东西的时候,大都回答不上来,只是对框架能熟练应用而已。这样够么?计算机的很多知识,当你熟悉了其运作原理,框架对于你来说,只是手到擒来,看看学学就会用了。我问过好几个同事,平时晚上回去都干嘛,很多人都回答我晚上回去看看电视,稍微看看书就睡觉了。我有点惊讶,我想如果你想成为一个技术高手,一个能拿高薪的程序员,你又没有天份,又不付出超过常人的努力,凭什么你比别人强呢?
茫然之三:不善于总结。很多人(又是很多人)过着做一天和尚撞一天钟的日子,日子一天一天过去,基本不去总结,只是过了好长一段时间会发觉,原来最近我啥也没有进步,啥也没学到,还是老样子。知识在于积累,你只有不断总结,知识才能更好的积累,才能更好的为你服务。
茫然之四:没有明确的目标。一个人没有目标就决定了他不会有长足的进步。你都没有想过自己要成为一个架构师,一个项目经理,一个部门经理,一个技术总监,都没有想过要成为这样的人需要具备什么样的条件,你怎么可能知道自己欠缺什么?需要补充什么呢?长远目标要明确,然后根据长远目标进行分析,我要达到这样的目标,还有什么欠缺,据此制定短期目标,短期目标一定要可实现可操作。这样随着你目标的一步一步实现,你各方面的能力也随之提高了。
写了几点,也作为对自己的鞭策。
1、《osgi原理与最佳实践》,结合这本书并研究springdm,做一些实例。
2、《sql语言艺术》
3、《oracle9i&10g编程艺术》
4、《架构之美》
5、《uml和模式应用》
6、《uml彩色建模》
7、《领域驱动设计与模式实战》
8、《敏捷软件开发 原则、模式与实践》
9、《软件开发的边界》
10、《软件随想录》
11、《走出软件作坊》
就这么多了,9、10、11去年都看过一遍了,但好多地方粗粗过了一下,还要仔细阅读。
另外也对自己提个要求,看书要做读书笔记。
2010年-我的读书年!
看了软件随想录中下面一段话,觉得非常棒,作为一名软件从业人员,不一定有机会能实现描述中的优秀软件产品,但这样的理念需要贯穿我们每个人的心田,时刻记在心中:
【创造一个有使用价值的软件,你必须时时刻刻都在奋斗,每一次的修补,每一个功能,每一处小小的改进,你都在奋斗,目的只是为了再多创造一点空间,可以再多吸引一个用户加入。没有捷径可走。你需要一点运气,但是这不取决于你是否幸运。你之所以会有好运气,那是因为你寸土必争。
每天你前进一小步,将一件东西做得比昨天好一点点。这样的改进几乎看不出可以让谁获益,几乎没有变化。但是,你前进了一小步。
有无数个要做的这样微小的改进。
为了发现可以改进的地方。你必须有一个思维定势,始终如一的用批判的眼光看世界。随便找一样东西,如果你看不出它的缺点,那么你的思维转型还没有成功。当你成功的时候,你身边亲密的人会被你逼得发疯。你的家人恨不得杀了你。当你步行上班的时候,看到一个司机漫不经心地开车,你几乎用了所有的意志力才勉强忍不住冲上去告诉那个司机,他这样开车差点儿要了旁边坐在轮椅上的那个可怜小孩的命。
当你改正了一个又一个这样的小细节后,当你磨光、定型、擦亮、修饰你的产品的每一个小边角后,就会有神奇的事情发生。厘米变成分米,分米变成米,米变成了千米。你最后拿出来的是一件真正优秀的产品。它第一眼就让人觉得震撼,出类拔萃,工作起来完全符合直觉。就算100万个用户中有一个用户某天突然要用到一个他100万次使用中才会用到一次的罕见功能,他发现了这个功能不仅能用,而且还很没:在你的软件中,即使是看门人的小屋都铺着大理石的地板,配有实心的橡木门和桃花心木的壁板。
就是在这个时候,你意识到这是一个优秀软件。】
看完这篇文章后,想到一个问题,如何用编程的方式实现切换呢,找了参考资料,实现了一个例子,代码如下:
开发环境:flash builder 4 beta2
下载了1.8.6-27 release candidate 2(ruby186-27_rc2.exe)版本
2、在windows的命令行下,输入 ruby –v,检查ruby是否正确安装,应该出现如下信息:
ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-mswin32]
3、安装rails,执行gem install rails命令,安装成功后,执行rails -v检查。
我安装了rails2.3.2版本。使用gem install -version rails可以指定安装的rails版本,具体如何使用gem,可以用gem help install查看帮助。
参考:ruby on rails(ror)安装()
装好了便到ruby on rails的官方网站(),找到了
getting started with rails()
开始一步一步follow up。
rubyonrails的中文站上的翻译文档没有完全跟进,还是看英文的吧。
我使用的是mysql的数据库,操作系统:vista。
到创建posts应用的时候遇到了问题,创建数据后数据库中有数据,但是到listing posts界面无法查看,总是报错。
网上google了一下,果然有人遇到相同的问题,参照了如下凯发天生赢家一触即发官网的解决方案,到
上下载了libmysql.dll文件放到ruby_home/bin/目录下,问题解决。
参考:升级2.2后mysql驱动的问题()
感叹一下,当listing posts这个crud小应用跑起来后,觉得ruby on rails的开发是比java开发要快一些,看了一下它生成的代码,貌似也不多。
今天晚了,明天继续。
做好了以后,忽然觉得有点迷茫,感觉不用hibernate不也挺好的么,咱为什么现在开口闭口都是hibernate呢,于是便有了今天的题目。
很久以前没有hibernate的时候:
第一阶段:我们写程序都是直接用jdbc,甚至在jsp页面中直接去createconnection,然后执行查询,输出到页面。
第二阶段:后来觉得每次都是创建一个连接,好像效率不高,于是看了别人的介绍,要用数据库连接池,好的,那便用数据库连接池吧,每次都从pool中获得一个connection,然后查询数据。
第三阶段:用了连接池,还是效率不高,那怎么办呢?用缓存吧,自己实现缓存?可以,也可以用开源的缓存框架。
第四阶段:到了oo大流行的时代了,一切都要oo,恰逢hibernate降临人世,于是一切都用hibernate来实现了,其实同期还是有不少其它ormap框架的,比如(toplink、jdo、ibatis等,ibatis国内用的还比较多,另外两个好像用的比较少)。
第五阶段:忽然ejb大流行,事务的概念被广为传播(并不是原来没有事务的概念,只是实现起来比较麻烦),借助ejb的广为传播,spring hibernate的组合也慢慢占据了大半市场。此时事务用spring aop的声明式事务来解决,缓存可以用开源的缓存框架(已经和hibernate无缝集成了),数据库连接池也是通过配置的方式在springcontext.xml文件中配置,貌似一切都很完美。
真的到了第五阶段,一切是不是真的完美了呢,如果一个很小的应用,需要从好几个数据库查询数据,但是每个数据库仅需要查询那么一两张表的数据,偶尔添加、删除几条数据,数据量也不大,此时我们是不是还用第一阶段的方式会更好呢,好像有时配置多数据源也不是那么方便的事情。或者使用spring中的jdbctemplate,貌似也不错。
再往后看,难道spring hibernate的组合就天下无敌了么?难道就没有新的框架了么?前段时间,javaeye上关于充血模型、贫血模型的讨论吸引了多少眼球,以后是不是会有这么一个框架用于实现充血模型呢?
说了这么多,最终只是想说明白这么一句:用恰当的技术做恰当的事情,这真是一个艰难的选择……,至于未来,更是迷茫,因为我们只是跟随者,而不是领导者。
1、适合的读者
a、是一名java开发程序员,做过web开发
b、对ajax开发的基础知识有所了解
2、书评:
这本书我觉得应该改成这个名字:《ext js cookbook》,可能使得书的内容和名称更贴切,呵呵。
书中对ext js的基础类、grid、form、tree、布局管理器、数据获取等各方面都做了详细的描述,基本上开发中需要用到的知识点,在书中都会提到,而且书中的很多例子和实际工作还是非常贴切的,对于工作中需要用到ext js或者需要学习ext js的程序员来说还是会很有帮助的。
最后提点缺点,这本书中对ext js的知识点都做了比较详细的描述,但是缺乏对ext js的框架的深入分析。
暂时用不到这个工具,记录留待备查。
今天仔仔细细的看了一下hibernate的缓存,并做了实例实践了一把。google一下,网上的教程、文章很多。
自己小结一下:
hibernate的缓存分为:
缓存的注释写法如下,加在entity的java类上:
缓存的方式有四种,分别为:
另外还有如下注意事项:
1、查询缓存需要在query的相应方法执行前加上这么一句:
query.setcacheable(true);
在使用hibernate时,获得的query有setcacheable方法,可以设置使用缓存,但当使用jpa时,javax.persistence.query并没有setcacheable方法,此时如果jpa的实现是hibernate时,可以将其进行如下转化,再调用setcacheable方法(如果jpa的实现是其它ormap框架,就不知道怎么做了)。
2、还有就是查询缓存的查询执行后,会将查询结果放入二级缓存中,但是放入的形式是以id为key,实例作为一个value。
3、hibernate的配置文件中需加入如下信息: