Compass学习笔记一

本文章是对Compass官方文档的摘抄,方便查询
[b]1.CompassSession的用法[/b]
CompassConfiguration conf =
new CompassConfiguration().configure().addClass(Author.class);
Compass compass = conf.buildCompass();
CompassSession session = compass.openSession();
try {
...
session.save(author);
CompassHits hits = session.find("jack london");
Author a = (Author) hits.data(0);
Resource r = hits.resource(0);
...
session.commit();
} catch (CompassException ce) {
session.rollback();
}


[b]2.CompassTransaction的用法[/b]
CompassConfiguration conf =
new CompassConfiguration().configure().addClass(Author.class);
Compass compass = conf.buildCompass();
CompassSession session = compass.openSession();
CompassTransaction tx = null;
try {
tx = session.beginTransaction();
...
session.save(author);
CompassHits hits = session.find("jack london");
Author a = (Author) hits.data(0);
Resource r = hits.resource(0);
...
tx.commit();
} catch (CompassException ce) {
if (tx != null) tx.rollback();
} finally {
session.close();
}

[b]3.CompassSession对搜索和索引都有效果,Compass也为搜索或者索引提供单独的简化的API:CompassSearchSession和CompassIndexSession,用法与CompassSession一致[/b]

[b]4.Template(模板)和CallBack(回调)[/b]
CompassTemplate和CompassCallback,使用模板的话可以省略事务相关代码的书写,如:
CompassConfiguration conf =
new CompassConfiguration().configure().addClass(Author.class);
Compass compass = conf.buildCompass();
CompassTemplate template = new CompassTemplate(compass);
template.save(author); // open a session, transaction, and closes both
Author a = (Author) template.execute(new CompassCallback() {
public Object doInCompass(CompassSession session) {
// all the actions here are within the same session
// and transaction
session.save(author);
CompassHits hits = session.find("london");
...
return session.load(id);
}
});
资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 在 Python 编程里,判断正整数是否为素数是基础任务。素数是除 1 和自身外无其他正因数的自然数。下面探讨用 Python 实现此功能,及如何拓展至判断“循环素数”。 先定义个名为 isPrime 的函数,接收正整数 n 作参数,实现如下: 该函数先判断小于 2 的数(非素数),接着判断 2(唯偶数素数),最后针对大于 2 的数,从 2 到其平方根的整数依次遍历,若有因子,就判定不是素数。 接着说“循环素数”。它是特殊素数,各位数字循环位移后形成的数仍为素数,像 1373 就是循环素数,因为 137、371、713 都是素数。要判断个数是否为循环素数,可遍历其所有可能位移,将其转为字符串,重新排列再转回整数,用 isPrime 函数检验。实现代码如下: 此代码循环遍历每个位移,每次位移后用 isPrime 函数检查新数是否为素数,旦发现非素数,立即结束循环并输出结果。若循环结束标志位仍为 True,说明输入数是循环素数。 在 Python 中,常用 math 模块处理数学计算,如 math.sqrt() 求平方根,math.ceil() 向上取整。而 string 模块虽可用于整数与字符串转换,但此代码中直接用 int() 和 str() 转换即可,无需导入 string 模块。 掌握这些 Python 编程技巧,能有效判断正整数是否为素数及循环素数,有助于理解 Python 数据类型操作、控制流程和数学计算,还能助力开发复杂算法,解决复杂数学问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值