如果非 .net 相关技术不适宜发表在园子的首页,请告知我撤下该主题!
我从事 asp/.net 开发有两年多了,其间还做过很多 winform 或 windows console 程序,这些只是表现形式;相关技术 ado.net,多线程,.net remoting 等等或多或少有所应用或研究。刚开始工作因为生活、兴趣,现在发展为一种人生哲学:试图在创造中找到生命存在的意义。难道果真如“许三多”说的:好好活就是做有意义的事,做有意义的事就是好好活?
闲话少扯。最近有幸接触 java,早前我因受 .net 蛊惑,总把她当做异类,印象中这种语言工具书写繁琐、配置杂乱,让人无暇全身心关注业务逻辑,因此,除了对其本身诸多麻烦的恐惧,还有一种诡异的不屑。几个月前“邂逅”老牌艳星 c++,方知世间骚字怎解,悔恨带着有色眼镜看待开源。
java 还算是个很简便的语言工具(我都不知道该把她当成一个语言,还是一个工具,看官们仁者见仁吧)。记得大学期间应用 jsp 搞过一个《医院管理系统》,当时建个小网站,链接数据库做点小操作,无不令人抓狂,现在看来,无非是当时的我们心高气傲,以为用 vs2003 拖个玩意点击“下一步”就显得很牛逼。自然,语言以及开发工具的易用程度上,java 干不过 .net,但从功能以及成本而言,后者还是很有优势的,风行那么多年的 j2ee,还是拥有相当的高端市场。
曾经我写过一篇随笔,谈到 .net 环境下“如何简化数据库的访问操作”(http://www.cnblogs.com/howard-queen/archive/2009/07/14/1523500.html),今天我很惊诧,原来 java 也完全可以实现。通常,java 进行数据操作也是通过三个类 Connection(IDbConnection),Statement(IDbCommand),ResultSet(IDataReader),我将长期以来总结出的数据操作接口实现了一个不含参数的简化 java 版本(请同学们同时注意 java 与 c# 不同的命名规范):
package queen.data;
/*
* 统一数据访问接口
*
* @author Howard Queen
* @version 1.0.1, 2010/10/12
* */
public interface IExecutor {
String getConnectionString();
void setConnectionString(String value) throws Exception;
int getTimeout();
void setTimeout(int value);
/*
* 执行语句获取数据集
* */
QueryResult executeQuery(String statement) throws Exception;
/*
* 执行语句获取单个数据
* */
Object executeScale(String statement) throws Exception;
/*
* 执行语句获取影响的行数或其他。
* */
int executeNonQuery(String statement) throws Exception;
}