JDK1.5出来多年了(2004年10月正式发行),就连6.0正式版在 http://java.sun.com上已是赫然在目,紧跟着的各应用服务器和 Java IDE 厂商的都准备就绪. 可是相信很多开发者跟我一样却碍于公司用的是老版本的应用服务器,如WebSphere Application Server,,WebLogic等只能支持到1.4的JDK,要升级应用服务器成本和风险都有担心,所以项目中只能用1.4 的JDK,一直无法体验到 JDK 1.5 的新特性带来的便利.
有些同事机器里一直还是躺着 JDK 1.4,我可能比他们好一点就是直接装了一个 JDK 1.5,然后在 Java IDE 中设置编译器的 Compiler compliance level为 1.4(实质就是javac –target 1.4).这样避免了用JDK1.5编译的Class 放在1.4的JVM中运行出现49.0的字节码版本太高的错误,这样做只不是50步和100步的差距,照例用不了JDK1.5 的新特性. Read More- 1. 由于通过 RSS 方式,只能读取最新的 20 条记录,JavaEye 至今未支持从中国博客网的 HTML 方式导入,所以需要认为生成一个包含所有日志的 RSS 格式的 XML 文件。
2. 生成的 XML 文件要让 JavaEye 的导入工具能读取到,所以需要发布到公网上,这个问题已解决,用路由器的端口映射到我的电脑上即可。
3. 由于本地的日志有许多 <textarea name=code>.... 包含的源代码,在本地显示是能通过 syntaxhighlighter 转换显示, Read More 
1select * from person where name = 'unmi'
iBatis 开发指南告诉我们,当 Person 对象的 name 属性不为 null 时启用 name 查询条件在映射文件 person.xml 中的配置为1<select id="getPersonsByName" resultClass="com.unmi.Person"> 2 select id as id,name as name,passwd as passwd from person 3 <dynamic prepend="WHERE"> 4 <isNotNull prepend="AND" property="name"> 5 (name like #name#) 6 </isNotNull> 7 </dynamic> 8</select>
Read More
用 iBatis 应用程序连接的数据库是 Oracle, 映射文件中的插入语句写成如下形式1<!-- 插入一条Person对应的记录到数据库中 --> 2<insert id="insertPerson" parameterClass="com.unmi.Person"> 3 INSERT INTO PERSON(ID,NAME,PASSWD) VALUES(#id#,#name#,#passwd#) 4</insert>
Read More
用Hibernate也有一段时间了,项目中也用过CMP以及.net的DataSet,也想体验一下iBatis的SqlMap方式的魅力了,以前总是看iBatis介绍一的文章,现在应是亲自动手心临其境的时候了。
做这个实验基本是遵照 iBATIS SQL Maps 入门教程 中的例子做的,只是在原来的基础上还更简化了一些。
我用的开发工具是 Eclipse,如何建立你的工程和加入相应的 iBatis 包可不详叙。 Read More
Hibernate应用程序部署到WebSphere Application Server 5.1上,使用WAS的连接池,程序在处理了比较多的 session.save(object)操作之后,在执行提交事物 trans.commit()之时出现以下异常
java.lang.NullPointerException
at oracle.jdbc.dbaccess.DBData.clearItem(DBData.java:431)
at oracle.jdbc.dbaccess.DBDataSetImpl.clearItem(DBDataSetImpl.java:3528)
at oracle.jdbc.driver.OraclePreparedStatement.clearParameters(OraclePreparedStatement.java:3401)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.resetStatement(WSJdbcConnection.java:1719) Read More
有一个项目,是用Hibernate开发的部署在WebSphere Application Server 5.1下,总是会出现数据库记录被死锁的情况,即使是一个简单的更新动作,都有可能造成。
这个问题,困扰我许久,检查过所有代码,事物一定要提交或者回滚,Session及时释放,怀疑过是否是因为是部署在集群环境,但好像那些措施总于事无补,百思不得其解。
就差没有使用容器提供的事物了。 Read More
最近接手了一个要维护的项目,是用Hibernate2+Oralce8写成的,因为看到Hibernate3页出来这么久了,而且也感觉Hibernate3有它的许多新的特性,如批量删除和更新,新的HQL语法解析器AST。
升级过程大致按照孙卫琴的那篇文章 如何把Hibernate2.1升级到Hibernate3.0?来做,该替换的替换完,该设置的设置完,程序一跑,当程序执行到向下面这种查询的时候(Oracle所特有的外连接查询),报错。
语句为:(描述为类似语句,把项目中的实际表名隐去了) Read More
有时,Oracle中造成一些表被死锁或者会话异常退出,如执行了更新记录操作后,既没有commit也没有rollback,网络就断开了,也会造表或记录被锁住,待到超时后才会被解开,那样都会造成应用操作被阻塞。
可以以Oralce管理员权限用户登录Oracle数据,查询到被锁的对象,然后杀除指定的会话。
用下面的语句查询被锁的对象,可以带上更多约束条件,如schemaname等更精确的匹配。 Read More