JAVAME的RMS通用持久化框架 - 编程入门网
rivate static void closeRecordStore(RecordStore rs) {
351 try {
352 rs.closeRecordStore();
353 } catch (Exception exe) {
354 LogManager.error ("RMSUtil.closeRecordStore(),rs = " + rs + ",exe = " + exe);
355 exe.printStackTrace();
356 }
357 }
358
359 /**
360 * 得到某个RMS的存储数据库,先从缓存里面去找,如果没有找 到则生成
361 * 一个并把它放到缓存里面,还有,因为RMS的名字,最长只支 持32位
362 * @param name 数据库的名字
363 * @return 找到的RMS数据库
364 */
365 private synchronized static RecordStore getRecordStore (String name) throws RecordStoreException {
366 if (name.length() > 32) {
367 name = name.substring(name.length()-32, name.length());
368 }
369 if (rmsCache.containsKey(name)) {
370 return (RecordStore) rmsCache.get (name);
371 } else {
372 RecordStore rs = RecordStore.openRecordStore(name, true);
373 rmsCache.put(name, rs);
374 return rs;
375 }
376 }
377 }
378
相信看完代码以后,大家应该知道如何使用它吧。如果有需要持久化的类, 那么就需要实现Serializable接口,然后只要调用RMSUtil.insertObject()就可 以了,同理,查找也是一样的,你可以查找同一个类的一系列对象,也可以自己 定义记录查询器,在里面设置查询条件。 目前JAVAME的持久化框架,也有用其它的方法实现的,比如动态插入代码的 方法,也就是你在写好了JAVAME的代码以后,在编译的过程中,它自动帮你加上 相应的方法,我看了一个他们的源码,其实也就是它们自己帮你实现了一个相当 于Serializable接口,我觉得这样不好的地方在于,它会为你的类添加方法,万 一你的类里面原来就有那个方法的时候,那就会出现不可意料的情况了,还有, 我觉得自己的数据还是自己一个一个把它写出来,这样心里更踏实一些。我一直 都认为,封装得有一个度,不能过度的封装,过度封装表面上看是编码更方便了 ,但是写的时候,自己心里也更没底了,因为你不知道别人的代码都做了一些什 么。因为别人的代码做的事情太多了。呵呵,纯属个人意见。 大家如果有什么自己的看法,欢迎留言。 还有,此代码用到了我的另外一个通用框架,那就是LOG框架,所以如果直接 下载的话,可能会编译不过了,只要注释掉LogManager的调用就可以了。LOG框 架的说明点击这里,这个LOG框架现在正在改动中,以使它更好用,更没有侵入 性。 本文配套源码 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |