您好,欢迎光临 | 我的主页 | 个人资料 | 短消息 | 好友 | 书签 | 黑名单 |
岂能尽如人意,但求无愧我心 (手机请访问 http://3g.dlog.cn/zhlmmc)
下一篇:时间片 上一篇:三国与经济

模仿CodeIgniter中Database模块的一个Java类库

2007年4月23日(Monday) 03点03分 作者: 虫虫 天气: 心情: 挺好
最近闲来无事,于是开始做我在“你真的需要Spring + Hibernate吗?”中提到的那个小类库。有些进展,先把类库的期望整理一下。

数据库的配置信息放在dbconfig.properties文件中,当然也支持动态配置
DatabaseFactory类用来获取配置好的Database,有如下接口

/**

* Get Database with default database config file “dbconfig.properties”.

*/

public static IDatabase getDatabase() 

/**

* Get Database with the given database config file.

*/

public static IDatabase getDatabase(String databaseConfig)

/**

* Get Database with the given database connecting info.

*/

public static IDatabase getDatabase(String driver, String url,

           String user, String password)

当拿到一个IDatabase以后,就可以用它来进行CRUD操作了。
假设有这么一张数据库表:
id domain page status
1 www.zhlmmc.com test.html 1
2 www.aaa.com a.html 1
3 www.bbb.com b.html 1
4 www.ccc.com c.html 2


1. Query

//返回所有记录

IDatabase database = DatabaseFactory.getDatabase();

IDataSet ds = database.query("website");

ResultSet rs = ds.getResultSet();

//相当于 SELECT * FROM website WHERE status = 1 AND id > 1

database.where("status", "1", IDatabase.COMPARE_TYPE_EQUEAL);

database.where("id", "1", IDatabase.COMPARE_TYPE_GREATER_THAN);

ds = database.query("website");

2. Update
database.where("status", "1", IDatabase.COMPARE_TYPE_EQUEAL);

Map map = new HashMap();

map.put("domain", "www.zhlmmc.com/blog");

database.update("website", map);

3. Insert

Map map = new HashMap();

map.put("domain", "www.zhlmmc.com/blog");

map.put("page", "index.html");

map.put("status", "1");

database.insert("website", map);

4. Delete

database.where("id", "1", IDatabase.COMPARE_TYPE_EQUEAL);

database.delete("website");

以上只是期望做到的最简单的功能。当然还有很多功能没有考虑,比如跨表查询,选择性字段查询等等。
通过电脑发布 #1楼 评论时间:2007-4-23 09:38 (Monday)
挺简洁的API,不错哦
邮箱 | 网址 |  
姓名: 
邮箱:  {可选}
网址:  {可选} 此评论只有我和写日记的人查阅
校验码: ... <我看不清楚>
网记为您提供手机和互联网同步的个人主页,带给你不一样的体验