当前位置: 首页 > news >正文

局网站建设合同上海网站备案中心

局网站建设合同,上海网站备案中心,wordpress 设置固定链接,刀具东莞网站建设今天#xff0c;我有一篇简短的文章#xff0c;内容涉及在Spring Data Cassandra中使用Prepared Statements。 Spring为您提供了一些实用程序#xff0c;使您可以更轻松地使用“预备语句”#xff0c;而不必依靠自己使用Datastax Java驱动程序手动注册查询。 Spring代码提供… 今天我有一篇简短的文章内容涉及在Spring Data Cassandra中使用Prepared Statements。 Spring为您提供了一些实用程序使您可以更轻松地使用“预备语句”而不必依靠自己使用Datastax Java驱动程序手动注册查询。 Spring代码提供了一个缓存来存储经常使用的准备好的语句。 允许您通过缓存执行查询缓存可以从缓存中检索准备好的查询也可以在执行之前添加一个新查询。 为了简短起见我们可能应该开始看一些代码。 依存关系 parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.0.5.RELEASE/version /parentdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-cassandra/artifactId/dependency /dependencies 使用Spring Boot 2.0.5.RELEASE将拉入Spring Data Cassandra的2.0.10.RELEASE 。 使用准备好的语句 让我们直接进入 Repository public class PersonRepository extends SimpleCassandraRepositoryPerson, PersonKey {private final Session session;private final CassandraOperations cassandraTemplate;private final PreparedStatementCache cache PreparedStatementCache.create();public PersonRepository(Session session,CassandraEntityInformation entityInformation,CassandraOperations cassandraTemplate) {super(entityInformation, cassandraTemplate);this.session session;this.cassandraTemplate cassandraTemplate;}// using ORMpublic ListPerson findByFirstNameAndDateOfBirth(String firstName, LocalDate dateOfBirth) {return cassandraTemplate.getCqlOperations().query(findByFirstNameAndDateOfBirthQuery(firstName, dateOfBirth),(row, rowNum) - cassandraTemplate.getConverter().read(Person.class, row));}private BoundStatement findByFirstNameAndDateOfBirthQuery(String firstName, LocalDate dateOfBirth) {return CachedPreparedStatementCreator.of(cache,select().all().from(people_by_first_name).where(eq(first_name, bindMarker(first_name))).and(eq(date_of_birth, bindMarker(date_of_birth)))).createPreparedStatement(session).bind().setString(first_name, firstName).setDate(date_of_birth, toCqlDate(dateOfBirth));}private com.datastax.driver.core.LocalDate toCqlDate(LocalDate date) {return com.datastax.driver.core.LocalDate.fromYearMonthDay(date.getYear(), date.getMonth().getValue(), date.getDayOfMonth());}// without ORMpublic ListPerson findByFirstNameAndDateOfBirthWithoutORM(String firstName, LocalDate dateOfBirth) {return cassandraTemplate.getCqlOperations().query(findByFirstNameAndDateOfBirthQuery(firstName, dateOfBirth),(row, rowNum) - convert(row));}private Person convert(Row row) {return new Person(new PersonKey(row.getString(first_name),toLocalDate(row.getDate(date_of_birth)),row.getUUID(person_id)),row.getString(last_name),row.getDouble(salary));}private LocalDate toLocalDate(com.datastax.driver.core.LocalDate date) {return LocalDate.of(date.getYear(), date.getMonth(), date.getDay());} } 这里有相当数量的样板代码因此我们可以访问Spring Data的ORM。 我还提供了代码来演示如何在不使用ORM的情况下实现相同的目标无论如何直接将查询直接映射到对象。 让我们更仔细地研究一种方法 public ListPerson findByFirstNameAndDateOfBirth(String firstName, LocalDate dateOfBirth) {return cassandraTemplate.getCqlOperations().query(findByFirstNameAndDateOfBirthQuery(firstName, dateOfBirth),(row, rowNum) - cassandraTemplate.getConverter().read(Person.class, row)); }private BoundStatement findByFirstNameAndDateOfBirthQuery(String firstName, LocalDate dateOfBirth) {return CachedPreparedStatementCreator.of(cache,select().all().from(people_by_first_name).where(eq(first_name, bindMarker(first_name))).and(eq(date_of_birth, bindMarker(date_of_birth)))).createPreparedStatement(session).bind().setString(first_name, firstName).setDate(date_of_birth, toCqlDate(dateOfBirth)); } CachedPreparedStatementCreator完全按照其说的进行操作...它创建缓存的Prepared Statements。 of方法采用实例化Bean时定义的cache 并创建第二个参数定义的新查询。 如果查询是最近已经注册的查询即它已经在缓存中。 然后从那里开始查询而不是完成注册新语句的整个过程。 传入的查询是一个RegularStatement 可以通过调用createPreparedStatement将它转换为PreparedStatement 我猜是吧。 现在我们可以将值绑定到查询因此它实际上可以做一些有用的事情。 就缓存Prepared Statements而言这就是您要做的全部。 还有其他方法可以执行此操作例如您可以手动使用PreparedStatementCache或定义自己的缓存实现。 无论您的船浮在水上。 您现在已经到了这篇简短文章的结尾希望它实际上包含了足够有用的信息…… 在本文中我们介绍了如何使用CachedPreparedStatementCreator创建和将Prepared Statements放入高速缓存中以便在以后更快地执行。 使用Spring Data提供的类我们可以减少需要编写的代码量。 这篇文章中使用的代码可以在我的GitHub上找到 。 如果您认为这篇文章有帮助可以在Twitter上LankyDanDev关注我以跟上我的新文章。 翻译自: https://www.javacodegeeks.com/2018/10/cached-prepared-statements-cassandra.html
http://www.pierceye.com/news/547488/

相关文章:

  • 佛山网站到首页排名网站开发招标任务书
  • 网站建设相关专业手机网站建设软件有哪些
  • 做网站编辑累吗平台推广策划
  • 景区网站模板深圳中建南方建设集团网站
  • 深圳市网站建设有补贴吗特殊教育学校网站建设方案
  • 专业电影网站建设建e全景效果图
  • 优惠券网站怎么做的哪里有网站制作
  • 单页网站搭建购买一级域名做网站
  • 优秀设计作品的网站单页网站仿制教程
  • 品牌形象网站有哪些ajs17网站建设
  • 微信公众号手机网站开发文成网站制作
  • 中邮通建设咨询有限公司官方网站网站升级及政务新媒体建设方案
  • 网站建设服务费会计分录宁波市住房与城乡建设部网站
  • 如何申请cn域名做网站wordpress 企业网站主题
  • 网站建设 锋云科技公司东莞有什么比较好的网站公司
  • json取数据做网站做问卷哪个网站好
  • 做特产网站的原因手机网站建设技术
  • 唐山企业网站建设公司wordpress 插件 破解
  • 西安自助建站系统做360网站快速排名软件
  • 青岛响应式网站设计规划排版网站
  • 吉林省住房和建设厅网站免费的海报设计软件
  • 求创意设计分享的网站做国产免费视频网站
  • 易橙云做的网站怎么样做网站的设计理念
  • 费县住房和城乡建设局网站谷歌找网站后台
  • 青岛网站建设最便宜应用商城app下载
  • 陕西省建设部官方网站青岛网站制作案例
  • 珠海中国建设银行招聘信息网站刘金鹏做网站
  • 广州住房建设部网站php学校网站建设
  • 企业网站建设顾问网站美工做专题尺寸多少
  • 第一代网站建设技术网站建设前期规划方案范文