唯美

mysql建表设置两个默认CURRENT_TIMESTAMP的技巧

业务场景:例如用户表,我们需要建一个字段是创建时间, 一个字段是更新时间.解决办法可以是指定插入时间,也可以使用数据库的默认时间.在mysql中如果设置两个默认CURRENT_TIMESTAMP,会出现这样的错误. ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause.错误的建表语句: CREATE TABLE db1.sms_queue (   Id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,   Message VARCHAR(160) NOT NULL DEFAULT ‘Unknown Message Error’,   CurrentState VARCHAR(10) NOT NULL DEFAULT ‘None’,   Phone VARCHAR(14) DEFAULT NULL,   Created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,   LastUpdated TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP,   TriesLeft tinyint NOT NULL DEFAULT 3,   PRIMARY KEY (Id) ) ENGINE = InnoDB;解决办法,可以使用触发器或者其他,在此还是使用数据库的方式.建表语句: create table test_table(   id integer not null auto_increment primary key,   stamp_created timestamp default ‘0000-00-00 00:00:00’,   stamp_updated timestamp default now() on update now() );测试:mysql> insert into test_table(stamp_created, stamp_updated) values(null, null);Query OK, 1 row affected (0.06 sec)mysql> select * from t5;+----+---------------------+---------------------+ | id | stamp_created | stamp_updated |+----+---------------------+---------------------+| 2 | 2009-04-30 09:44:35 | 2009-04-30 09:44:35 |+----+---------------------+---------------------+2 rows in set (0.00 sec)mysql> update test_table set…

真实镜头记录下的旧社会土匪当街抢劫

哎!旧社会下土匪啊!

[视频]超近距离拍摄接触并山崩塌

超近距离拍摄接触并山崩塌,就好比一座城堡一下子就给没有了一样。

升级win8后的使用

win8已经开始公测,我这个喜欢折腾的也很想用上一把,根据以往换系统,装个系统之后,就需要装一大堆的软件,特别像我们这种专业码农,还需要考虑软件的兼容性。升级,风险很大。我也考虑过用虚拟就安装,可我下载的是win8 64位的,虚机仅支持32位的。我的解决办法就是,先ghost备份一个系统,再进行升级。虽然win7升级win8是可以保留应用的,还是备份下安全。win7升级win8还算简单,虚拟光驱加载系统镜像,点击sources中的setup,一路按照提醒,检测兼容性之后,选择保留个人内容和应用设置,就等待系统自动安装,各种驱动也不用重新安装,我花了两个小时,就完成了。安装之后,感觉不错,喜欢win8的metra的简洁风!win8取消了开始按钮,开始按钮我是常用的,很不习惯,装个start8基本就解决了,还可以使用metra的界面。win8的使用可以参考http://www.ilovewindows8.com/的介绍。其他比如我的使用,eclipse的使用开发,oracle的使用,svn、git的版本库使用,网银也可以用,还有其他一些常用软件都使用正常,目前不能正常用的是VMware,还没开始解决,应该是有方法解决的。杀毒软件用的是数字的,虽然我一直对数字做的东西比较排斥,但数字市场运作,用户体验做的的确不错,我又何必那么较真呢?做人也一样,不能太较真了。在运行的速度上面,感觉要比win7块一些,我是通过eclipse的使用感觉出来了,eclipse的使用是比win快了许多,不知道是不是心理作用。win8的QQ也是很好用,能让人全身心的投入在交流中,如果我们的IDE工具能做成这样的就好了。无论怎么说,win8还是值得升级的,再怎么说,也算是一个正版系统啊!免费的为啥不用呢?

推荐一些was的资源

很久没有关注was的使用,今天收到WebSphere 开发与应用社区的推荐邮件,看到里面一些不错的资源,推荐使用was的看看啊!WAS初学-创建简单集群[sangmin214]http://www.webspherechina.net/home/space.php?uid=15618&do=blog&id=56151通往测试架构师之路[myjob]http://www.webspherechina.net/home/space.php?uid=1913&do=blog&id=56147WAS V7 分布式高速缓存[yuruli2058]http://www.webspherechina.net/home/space.php?uid=39601&do=blog&id=56134WAS初学-如何从WAS中删除一个Profile[sangmin214]http://www.webspherechina.net/home/space.php?uid=15618&do=blog&id=56132WebSphere Application Server ND版 V8安装及简单使用http://www.webspherechina.net/home/space.php?uid=15618&do=blog&id=56121WebSphere密码遗忘的2种解决方案http://www.webspherechina.net/home/space.php?uid=205&do=blog&id=56065

Hibernate 参数设置一览表

Hibernate 参数设置一览表,相当全的啊!推荐hibernate使用者必备! 属性名 用途 hibernate.dialect 一个Hibernate Dialect类名允许Hibernate针对特定的关系数据库生成优化的SQL.取值 full.classname.of.Dialect hibernate.show_sql 输出所有SQL语句到控制台. 有一个另外的选择是把org.hibernate.SQL这个log category设为debug。eg. true | false hibernate.format_sql 在log和console中打印出更漂亮的SQL。取值 true | false hibernate.default_schema 在生成的SQL中, 将给定的schema/tablespace附加于非全限定名的表名上.取值 SCHEMA_NAME hibernate.default_catalog 在生成的SQL中, 将给定的catalog附加于非全限定名的表名上.取值 CATALOG_NAME hibernate.session_factory_name SessionFactory创建后,将自动使用这个名字绑定到JNDI中.取值 jndi/composite/name hibernate.max_fetch_depth 为单向关联(一对一, 多对一)的外连接抓取(outer join fetch)树设置最大深度. 值为0意味着将关闭默认的外连接抓取.取值 建议在0到3之间取值 hibernate.default_batch_fetch_size 为Hibernate关联的批量抓取设置默认数量.取值 建议的取值为4, 8, 和16 hibernate.default_entity_mode 为由这个SessionFactory打开的所有Session指定默认的实体表现模式.取值 dynamic-map, dom4j, pojo hibernate.order_updates 强制Hibernate按照被更新数据的主键,为SQL更新排序。这么做将减少在高并发系统中事务的死锁。取值 true | false hibernate.generate_statistics 如果开启, Hibernate将收集有助于性能调节的统计数据.取值 true | false hibernate.use_identifer_rollback 如果开启, 在对象被删除时生成的标识属性将被重设为默认值.取值 true | false hibernate.use_sql_comments 如果开启, Hibernate将在SQL中生成有助于调试的注释信息, 默认值为false.取值 true | false**表 3.4.  Hibernate JDBC和连接(connection)属性 ** 属性名 用途 hibernate.jdbc.fetch_size 非零值,指定JDBC抓取数量的大小 (调用Statement.setFetchSize()). hibernate.jdbc.batch_size 非零值,允许Hibernate使用JDBC2的批量更新.取值 建议取5到30之间的值 hibernate.jdbc.batch_versioned_data 如果你想让你的JDBC驱动从executeBatch()返回正确的行计数 , 那么将此属性设为true(开启这个选项通常是安全的). 同时,Hibernate将为自动版本化的数据使用批量DML. 默认值为false.eg. true | false hibernate.jdbc.factory_class 选择一个自定义的Batcher. 多数应用程序不需要这个配置属性.eg. classname.of.Batcher hibernate.jdbc.use_scrollable_resultset 允许Hibernate使用JDBC2的可滚动结果集. 只有在使用用户提供的JDBC连接时,这个选项才是必要的, 否则Hibernate会使用连接的元数据.取值 true | false hibernate.jdbc.use_streams_for_binary 在JDBC读写binary (二进制)或serializable (可序列化) 的类型时使用流(stream)(系统级属性).取值 true | false hibernate.jdbc.use_get_generated_keys 在数据插入数据库之后,允许使用JDBC3 PreparedStatement.getGeneratedKeys() 来获取数据库生成的key(键)。需要JDBC3+驱动和JRE1.4+, 如果你的数据库驱动在使用Hibernate的标 识生成器时遇到问题,请将此值设为false. 默认情况下将使用连接的元数据来判定驱动的能力.取值 true|false hibernate.connection.provider_class 自定义ConnectionProvider的类名, 此类用来向Hibernate提供JDBC连接.取值 classname.of.ConnectionProvider hibernate.connection.isolation 设置JDBC事务隔离级别. 查看java.sql.Connection来了解各个值的具体意义, 但请注意多数数据库都不支持所有的隔离级别.取值 1, 2, 4, 8 hibernate.connection.autocommit 允许被缓存的JDBC连接开启自动提交(autocommit) (不建议).取值 true | false hibernate.connection.release_mode 指定Hibernate在何时释放JDBC连接. 默认情况下,直到Session被显式关闭或被断开连接时,才会释放JDBC连接. 对于应用程序服务器的JTA数据源, 你应当使用after_statement, 这样在每次JDBC调用后,都会主动的释放连接. 对于非JTA的连接, 使用after_transaction在每个事务结束时释放连接是合理的. auto将为JTA和CMT事务策略选择after_statement, 为JDBC事务策略选择after_transaction.取值 on_close |…

公司周刊-非常6+1—营销平台小组

团队成了优秀团队,在公司周刊上面的介绍,哈哈!非常6+1 —营销平台小组文/技术部 顾蕾非常6+1成员从左往右依次为:尹东勇、赵睿、周健、沈凤飞、赵鹏、张乔乔非常6+1 — 6个人 , 一个营销平台 。 年龄从23-30不等 ,组成了一个团队-营销平台小组。他们的辛勤劳作:顺利圆满完成了23个营销活动,1 3个营销平台功能需求,二期割接,集中封闭三期平台建设。他们的顽强表现:一年中的250多个夜晚,出现在旭建3号办公室;无数个傍晚,啃着面包和快要冷却的快餐;每天中午, 出现在最经济的新城食堂, 拥挤在人群中排队等来一顿十块钱的便当。尹东勇-承担短信PUSH能力层、 任务调度 、 10658838、8899的短PUSH高速群发 、 任务调度 、 审批等工作。 作为营销平台最热心的大师兄, 有问题吆喝一声, 以最简洁的方法定位问题,最快的速度处理BUG,最简练的语言回答疑问。一个喜欢篮球, 喜欢爬山, 喜欢文艺的青年, 他的时间精力献给了营销平台。乔乔-负责彩信能力层、 群发接口层的10658899彩信群发与接收、状态报告解析、用户回访分析、外系统调用等。 营销平台的二师兄, 幽默风趣的个人签名, 滑稽的表情, 经常会将大家逗乐。 天籁的歌喉吐露心中些许的苦闷。 身在异乡 ,时长想起家中的妻儿, 一成不变的黑色外套, 已经反复穿了一周又一周。沈凤飞、 赵睿2人辛勤为营销活动、 一期 、 3期的群发用户、 营销活动管理等紧急工作忙碌着。 凤飞, 见证了营销平台的成长历程, 从还未成形的平台到今天已经完工的三期平台, 问其休息都是码代码。 一次偶然的机会, 发现这小伙是个音乐小天才, 葫芦丝 , R&B, 动与静的结合, 古与今的交汇, 无一不赞。 赵睿,营销平台年龄最小, 也是最为帅气的一个,今年七月份刚入职,便投身到无日无夜的奋战中, 年轻是最大的资本,勤学好问是最大的优点,带着一股激情,一鼓作气将三期平台的建设顺利完工。赵鹏-作为团队的基础核心人员,为营销平台的接口层、基础平台搭建兢兢业业的埋头苦干, 独自开发的自有监控工具为平台安全保驾护航。喜欢篮球的他,平时还爱好钓鱼,正是这股耐力, 才让我们的营销平台在经过多次考验后依旧坚挺。走进旭建办公室的3号, 右手边第二排靠墙, 座位下面摆放了一双泛白的黑色单鞋, 鞋底已经开胶 。 桌上, 一只圆珠笔, 一个茶叶罐, 一个电脑散热器, 一瓶眼药水, 几包感冒药。 打开电脑, 电脑的桌面, 呈现的是未满周岁的可爱的女婴笑脸。 这是团队负责人周健的座位, 先后带领了十来个研发人员, 在小组成员的心中, 一直把他当做亲人看待, 人称“大叔” 。2012年 , 非常6+1 , 会翻开崭新的一页, 我们期待一个非常不一样的平台。 哈哈!非常6+1还有另外一层的结束,6个技术控,1位大美女-顾蕾。偷了一张蕾蕾的照片出来。自从来了蕾蕾之后,我们组就活跃起来了,两年团队没有一次一起出去活动过,现在动不动就能一起活动活动了,发现的人才,三年在一起的“大叔”竟然是个歌手。从照片看,就个萌女啊!哈哈!

dapeng 2012主题

dapeng 2012主题的主题的模仿的腾讯CDC的主题,主题的特点是精简,比起上一个主题,没有太多的css、js、页面效果,主要是为了增加页面的速度。另外一个也是为了在2012年也有一个自己的风格主题。也就是目前自己使用的这款主题,里面很多的都是代码实现的,也是整理自己接触Wordpress,熟悉的一些函数。分页、首页图片、相关文章、分类目录等都重写了代码,加入的注释。图片演示效果:最近访问网站的速度也有些慢,自己用的外链图片也很难访问,为了速度加快一些,使用了cloudflare提供的CDN服务。使用CDN服务后的效果对比:我用的是使用的服务器地址是:174.37.169.153,效果肯定比不上国内,但也比起超时要好的多。另外之前一直使用的wp spuer cache也没有生效,今天也捣腾的可以用了。使用Firebug测试了下首次打开速度,也基本保持在3s左右,可能网络好,满足下虚荣感。主题基本就定下来了,下一步就是做一些SEO的事情了,不过,我的观点是回归自己建立博客的本质。博客首先是记录收集的地方,分享也就是附带的目的吧!如果仅仅是记录收集,用记事本还不简单啊!

J2EE系统的概念及如何开发

文章比较老,不过也把Java开发的常用的方式、方向也说明了。J2EE开发三件宝: Domain Model(域建模)、patterns(模式)和framework(框架)。J2EE系统的概念及如何开发J2EE学习者越来越多,J2EE本身技术不断在发展,涌现出各种概念,本文章试图从一种容易理解的角度对这些概念向初学者进行解释,以便掌握学习J2EE学习方向。首先我们需要知道Java和J2EE是两个不同概念,Java不只是指一种语言,已经代表与微软不同的另外一个巨大阵营,所以Java有时是指一种软件系统的流派,当然目前主要是.NET和Java两大主流体系。J2EE可以说指Java在数据库信息系统上实现,数据库信息系统从早期的dBase、到Delphi/VB等C/S结构,发展到B/S(Browser浏览器/Server服务器)结构,而J2EE主要是指B/S结构的实现。J2EE又是一种框架和标准,框架类似API、库的概念,但是要超出它们。如果需要详细了解框架,可先从设计模式开始学习。J2EE是一个虚的大的概念,J2EE标准主要有三种子技术标准:WEB技术、EJB技术和JMS,谈到J2EE应该说最终要落实到这三个子概念上。这三种技术的每个技术在应用时都涉及两个部分:容器部分和应用部分,Web容器也是指Jsp/Servlet容器,你如果要开发一个Web应用,无论是编译或运行,都必须要有Jsp/Servlet库或API支持(除了JDK/J2SE以外)。Web技术中除了Jsp/Servlet技术外,还需要JavaBeans或Java Class实现一些功能或者包装携带数据,所以Web技术最初裸体简称为Jsp/Servlet+JavaBeans系统。谈到JavaBeans技术,就涉及到组件构件技术(component),这是Java的核心基础部分,很多软件设计概念(设计模式)都是通过JavaBeans实现的。JavaBeans不属于J2EE概念范畴中,如果一个JavaBeans对象被Web技术(也就是Jsp/Servlet)调用,那么JavaBeans就运行在J2EE的Web容器中;如果它被EJB调用,它就运行在EJB容器中。EJB(企业JavaBeans)是普通JavaBeans的一种提升和规范,因为企业信息系统开发中需要一个可伸缩的性能和事务、安全机制,这样能保证企业系统平滑发展,而不是发展到一种规模重新更换一套软件系统。至此,JavaBeans组件发展到EJB后,并不是说以前的那种JavaBeans形式就消失了,这就自然形成了两种JavaBeans技术:EJB和POJO,POJO完全不同于EJB概念,指的是普通JavaBeans,而且这个JavaBeans不依附某种框架,或者干脆可以说:这个JavaBeans是你为这个应用程序单独开发创建的。J2EE应用系统开发工具有很多:如JBuilder、Eclipse等,这些IDE首先是Java开发工具,也就是说,它们首要基本功能是可以开发出JavaBeans或Java class,但是如果要开发出J2EE系统,就要落实到要么是Web技术或EJB技术,那么就有可能要一些专门模块功能(如eclipse需要lomboz插件),最重要的是,因为J2EE系统区分为容器和应用两个部分,所以,在任何开发工具中开发J2EE都需要指定J2EE容器。J2EE容器分为WEB容器和EJB容器,Tomcat/Resin是Web容器;JBoss是EJB容器+Web容器等,其中Web容器直接使用Tomcat实现的。所以你开发的Web应用程序可以在上面两种容器运行,而你开发的Web+EJB应用则只可以在JBoss服务器上运行,商业产品Websphere/Weblogic等和JBoss属于同一种性质。J2EE容器也称为J2EE服务器,大部分时它们概念是一致的。如果你的J2EE应用系统的数据库连接是通过JNDI获得,也就是说是从容器中获得,那么你的J2EE应用系统基本与数据库无关,如果你在你的J2EE应用系统耦合了数据库JDBC驱动的配置,那么你的J2EE应用系统就有数据库概念色彩,作为一个成熟需要推广的J2EE应用系统,不推荐和具体数据库耦合,当然这其中如何保证J2EE应用系统运行性能又是体现你的设计水平了。衡量J2EE应用系统设计开发水平高低的标准就是:解耦性;你的应用系统各个功能是否能够彻底脱离?是否不相互依赖,也只有这样,才能体现可维护性、可拓展性的软件设计目标。为了达到这个目的,诞生各种框架概念,J2EE框架标准将一个系统划分为WEB和EJB主要部分,当然我们有时不是以这个具体技术区分,而是从设计上抽象为表现层、服务层和持久层,这三个层次从一个高度将J2EE分离开来,实现解耦目的。因此,我们实际编程中,也要将自己的功能向这三个层次上靠,做到大方向清楚,泾渭分明,但是没有技术上约束限制要做到这点是很不容易的,因此我们还是必须借助J2EE具体技术来实现,这时,你可以使用EJB规范实现服务层和持久层,Web技术实现表现层;EJB为什么能将服务层从Jsp/Servlet手中分离出来,因为它对JavaBeans编码有强制的约束,现在有一种对JavaBeans弱约束,使用Ioc模式实现的(当然EJB 3.0也采取这种方式),在Ioc模式诞生前,一般都是通过工厂模式来对JavaBeans约束,形成一个服务层,这也是是Jive这样开源论坛设计原理之一。由此,将服务层从表现层中分离出来目前有两种可选架构选择:管理普通JavaBeans(POJO)框架(如Spring、JdonFramework)以及管理EJB的EJB框架,因为EJB不只是框架,还是标准,而标准可以扩展发展,所以,这两种区别将来是可能模糊,被纳入同一个标准了。 但是,个人认为:标准制定是为某个目的服务的,总要牺牲一些换取另外一些,所以,这两种架构会长时间并存。这两种架构分歧也曾经诞生一个新名词:完全POJO的系统也称为轻量级系统(lightweight),其实这个名词本身就没有一个严格定义,更多是一个吸引人的招牌,轻量是指容易学习容易使用吗?按照这个定义,其实轻量Spring等系统并不容易学习;而且EJB 3.0(依然叫EJB)以后的系统是否可称为轻量级了呢?前面谈了服务层框架,使用服务层框架可以将JavaBeans从Jsp/Servlet中分离出来,而使用表现层框架则可以将Jsp中剩余的JavaBeans完全分离,这部分JavaBeans主要负责显示相关,一般是通过标签库(taglib)实现,不同框架有不同自己的标签库,Struts是应用比较广泛的一种表现层框架。这样,表现层和服务层的分离是通过两种框架达到目的,剩余的就是持久层框架了,通过持久层的框架将数据库存储从服务层中分离出来是其目的,持久层框架有两种方向:直接自己编写JDBC等SQL语句(如iBatis);使用O/R Mapping技术实现的Hibernate和JDO技术;当然还有EJB中的实体Bean技术。持久层框架目前呈现百花齐放,各有优缺点的现状,所以正如表现层框架一样,目前没有一个框架被指定为标准框架,当然,表现层框架现在又出来了一个JSF,它代表的页面组件概念是一个新的发展方向,但是复杂的实现让人有些忘而却步。在所有这些J2EE技术中,虽然SUN公司发挥了很大的作用,不过总体来说:网络上有这样一个评价:SUN的理论天下无敌;SUN的产品用起来撞墙;对于初学者,特别是那些试图通过或已经通过SUN认证的初学者,赶快摆脱SUN的阴影,立即开溜,使用开源领域的产品来实现自己的应用系统。最后,你的J2EE应用系统如果采取上面提到的表现层、服务层和持久层的框架实现,基本你也可以在无需深刻掌握设计模式的情况下开发出一个高质量的应用系统了。还要注意的是: 开发出一个高质量的J2EE系统还需要正确的业务需求理解,那么域建模提供了一种比较切实可行的正确理解业务需求的方法,相关详细知识可从UML角度结合理解。当然,如果你想设计自己的行业框架,那么第一步从设计模式开始吧,因为设计模式提供你一个实现JavaBeans或类之间解耦参考实现方法,当你学会了系统基本单元JavaBean或类之间解耦时,那么系统模块之间的解耦你就可能掌握,进而你就可以实现行业框架的提炼了,这又是另外一个发展方向了。以上理念可以总结为一句话:J2EE开发三件宝: Domain Model(域建模)、patterns(模式)和framework(框架)。原文网址:http://www.javaresearch.org/article/31774.htm

oracle的层次树形结构的查询

在数据库父子关系的模型中,经常会需要将数据表现为树形,带层次结构的表现,就可以采用connect by prior start with来实现了。代码 1:  2: *******************************************************************************/  3:  4: --创建测试表,增加测试数据  5:  6:createtable dapeng_test(superid varchar2(20),id varchar2(20));  7:  8: insert into dapeng_test values('0','1');  9: insert into dapeng_test values('0','2');  10:  11: insert into dapeng_test values('1','11');  12: insert into dapeng_test values('1','12');  13:  14: insert into dapeng_test values('2','21');  15: insert into dapeng_test values('2','22');  16:  17: insert into dapeng_test values('11','111');  18: insert into dapeng_test values('11','112');  19:  20: insert into dapeng_test values('12','121');  21: insert into dapeng_test values('12','122');  22:  23: insert into dapeng_test values('21','211');  24: insert into dapeng_test values('21','212');  25:  26: insert into dapeng_test values('22','221');  27: insert into dapeng_test values('22','222');  28:  29:commit;  30:  31: --层次查询示例  32:selectlevel||'层',lpad(' ',level*5)||id id  33:from dapeng_test  34:startwith superid = '0'connectbyprior id=superid; 结果