应用程序开箱即用的对象持久性覆盖

粉碎设备2021年09月06日

简单元素

正如能在 清单 1 的 StockData 源码中看到的那样,Simple Persistence for Java 真正简化了对象关系型持久性。基本上只需三行代码就可将持久性添加到您的 Java 应用程序中并从 HSQLDB 中检索对象:

Store 对象构造函数。 将对象保存到数据库的 save() 方法。 用于检索对象的一个或多个 find() 方法。 构造函数十分简单;只需将 JDBC 驱动作为第一个参数,将 JDBC URL 作为第二个参数:

Store store = new Store(\"bcDriver\",\"jdbc:hsqldb:mem:stockdata\");

稍后,Store 对象将用于存储及检索对象。

将对象保存到数据库中也很直接:

StockBean bean = new StockBean(symbol, date, price, volume);ve(bean);

只需调用 save() 将对象存储到数据库。任何必要的表都会在幕后创建。

使用用于检索对象的查询语言来查找对象也相当简单:

List results=nd(query);

有四种不同的 find() 方法:

find(String statement) find(String statement, Object[] parameters) findSingle(String statement) findSingle(String statement, Object[] parameters) 带参数的 find() 方法与在 SQL 中时一样:“?” 是参数对象的占位符。findSingle() 方法是自解释的。

定制查询语言

到现在,您也许注意到了一件事,Simple Persistence for Java 使用定制查询语言来查找对象。查询语法是面向对象的,并且没有了表、索引或其他典型的对象关系型数据库的概念。例如,下列查询在一个 List 中返回所有 StockBean 对象:

find stockbean

由于作为结果的 List 是惰性的,因而可以不影响应用程序性能或内存消耗即可查询大量对象。所以,即使实际对象是随需检索的,getSize() 方法也会返回一个结果的总数。

查询语法

Simple Persistence for Java 查询由 “find” 开始,第二个元素是要检索的类名。只有当许多类重名但所处包不同时才需要一个完整类名。

Where 子句与在 SQL 中的那些类似。典型的操作符,如 “or”、“and”、“not”、“”、“”、“=”、“like” 等等也得到了支持。

下列查询会返回其值介于 USD90 和 USD92.5 之间的所有 StockBean 对象:

find stockbean where price90 and price6lt;\'92.5\' and symbolname=\'IBM\'

与孵化厂讲信誉 注意,表示整型值可以不用引号,但双精度值和字符串值则需要引号。

也可以使用 SQL 中常见的 “order by” 语法来对结果进行排序。例如,下列命令指定结果按价格降序排列:

find stockbean where price90 and price\'92.5\' and symbolname=\'IBM\' order by price desc

运行样例

StockData 程序在一个 CSV 文件中搜索证券数据。可下载包 包含编译过的源代码和一个叫做 t 的批处理文件。该程序的语法是 t symbol name csv file name find query。可以使用此语法自己来查询样例应用程序。

下列命令的结果

t IBM ibm_v \"find stockbean where price90 and price6lt;\'92.5\' and symbolname=\'IBM\'\"

如图 1 所示:

图 1. 查询 StockData 应用程序的输出

查看本文来源

潮州治疗白癜风医院费用
银川哪家医院妇科医院好
达霏欣米诺地尔搽剂副作用
相关阅读
人到了一定的年龄,才知道太过善良,多半得不偿失!

孙权过世以前,在给其子刘禅的敕命中会真是:“勿以善小而不为,勿以无最...

2024-02-12
像冰箱 微波炉等电器的污渍,不能用碱性太大的清洁剂,这种专用的多功能清洁剂,它是植物萃取精华,气味很

像厨房 微波炉等五金的塑胶袋,不会用碱性多大的清洁剂,这种备有的多功...

2024-01-15
2022宁夏公务员考试笔试时间确认7月9日至10日

根据局限性霍乱风险评估态势及《银川市2022年入学破例公务人员告示》明确...

2024-01-08
把女朋友当女儿养的男生也比较聪明 女孩子本来就是你越宠爱 她越可爱的 你给她足够的安全感和保护 她也

把女朋友当女儿饲的男生也非常聪明 女孩子本来就是你越好宠爱 她越好可爱...

2023-12-23
苹果,如何把握「保密」和「创新」

原标题:苹果电脑前高管揭秘:怎么克服隐瞒人文演化转成的「经年累月」?...

2023-12-04
职场中碰上这五种领导,谁追随谁吃亏,现在知道还不晚

俗话问道男怕不入错行,女怕嫁错郎,一份谋生的职业就和婚姻一样关键,要...

2023-12-02
友情链接