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

十堰做网站排名建立网站的好处

十堰做网站排名,建立网站的好处,下载的字体如何安装到wordpress,网站域名备案注销q7goodies事例在Data Geekery #xff0c;我们喜欢Java。 而且#xff0c;由于我们真的很喜欢jOOQ的流畅的API和查询DSL #xff0c;我们对Java 8将为我们的生态系统带来什么感到非常兴奋。 我们已经写了一些关于Java 8好东西的博客 #xff0c;现在我们觉得是时候开始一个… q7goodies事例 在Data Geekery 我们喜欢Java。 而且由于我们真的很喜欢jOOQ的流畅的API和查询DSL 我们对Java 8将为我们的生态系统带来什么感到非常兴奋。 我们已经写了一些关于Java 8好东西的博客 现在我们觉得是时候开始一个新的博客系列了…… Java 8星期五 每个星期五我们都会向您展示一些不错的教程风格的Java 8新功能这些功能利用了lambda表达式扩展方法和其他出色的功能。 您可以在GitHub上找到源代码 。 Java 8 Goodie本地事务范围 JavaScript人士经常滥用匿名函数来创建本地范围。 像任何其他语言功能一样这可能会被滥用 但是在某些情况下本地作用域确实很棒。 Java还允许本地作用域尽管在Java 8之前这同样麻烦 JavaScript (function() {var local function() { scoping(); },scoping function() { alert(If you really must);};local(); })(); Java new Object() {void local() {scoping();}void scoping() {System.out.println(Ouch, my fingers. Too much typing);} }.local(); 尽管JavaScript人士将其称为设计模式但两个示例看起来都非常尴尬。 即使这两段代码大致相等也没人会在Java中创建这样的本地范围。 尴尬可以是JavaScript中的一种设计模式。 Java 8中的本地作用域 但是对于Java 8一切都会改变本地作用域也会改变。 让我们看一下如何为事务创建本地语义范围。 为此我们将创建两种类型。 事务接口 FunctionalInterface interface Transactional {void run(DSLContext ctx); } 对于该示例我们将使用jOOQ来避免检查异常和冗长的语句创建。 您可以用您选择SQL API替换它。 因此jOOQ为我们提供了一个本地范围内的ctx对象该对象隐式包含了事务状态。 使用TransactionRunner生成此事务状态 class TransactionRunner {private final boolean silent;private final Connection connection;TransactionRunner(Connection connection) {this(connection, true);}TransactionRunner(Connection connection,boolean silent) {this.connection connection;this.silent silent;}void run(Transactional tx) {// Initialise some jOOQ objectsfinal DefaultConnectionProvider c new DefaultConnectionProvider(connection);final Configuration configuration new DefaultConfiguration().set(c).set(SQLDialect.H2);try {// Run the transaction and pass a jOOQ// DSLContext object to ittx.run(DSL.using(configuration));// If we get here, then commit the// transactionc.commit();}catch (RuntimeException e) {// Any exception will cause a rollbackc.rollback();System.err.println(e.getMessage());// Eat exceptions in silent mode.if (!silent)throw e;}} } 上面是框架代码我们只编写一次。 从现在开始我们可以在Java程序中轻松使用上述API。 为此我们将像这样设置一个TransactionRunner public static void main(String[] args) throws Exception {Class.forName(org.h2.Driver);try (Connection c DriverManager.getConnection(jdbc:h2:~/test-scope-goodies, sa, )) {c.setAutoCommit(false);TransactionRunner silent new TransactionRunner(c);// Transactional code here ...} } 现在请看Java 8的奇观 // This is a transaction silent.run(ctx - {ctx.execute(drop table if exists person);ctx.execute(create table person( id integer, first_name varchar(50), last_name varchar(50), primary key(id))); });// And this is also one transaction silent.run(ctx - {ctx.execute(insert into person values(1, John, Smith););ctx.execute(insert into person values(1, Steve, Adams););// Ouch, fails -------^// Transaction rolls back });// And this is also one transaction silent.run(ctx - {ctx.execute(insert into person values(2, Jane, Miller););// Works, yay! });// And this is also one transaction silent.run(ctx - {ctx.execute(insert into person values(2, Anne, Roberts););// Ouch, fails -------^// Transaction rolls back }); 从上面我们能得到什么 让我们检查 silent.run(ctx - {System.out.println(ctx.fetch(select * from person)); }); 上面的程序将产生以下输出 SQL [insert into person values(1, Steve, Adams);]; Unique index or primary key violation: PRIMARY KEY ON PUBLIC.PERSON(ID); SQL statement: insert into person values(1, Steve, Adams); [23505-174] SQL [insert into person values(2, Anne, Roberts);]; Unique index or primary key violation: PRIMARY KEY ON PUBLIC.PERSON(ID); SQL statement: insert into person values(2, Anne, Roberts); [23505-174] ----------------------- | ID|FIRST_NAME|LAST_NAME| ----------------------- | 2|Jane |Miller | ----------------------- 因此我们的提交和回滚按预期工作 嵌套交易 我们还可以创建对TransactionRunner的嵌套调用例如当我们在调用其他方法的方法内部时。 为此必须调整我们的TransactionRunner以计算嵌套级别并删除“静音”功能。 另一方面以这种方式实现保存点功能将非常容易。 每次嵌套另一个事务时我们都会创建一个新的保存点。 结论 与本系列一样我们没有发明任何新东西。 所有这些事情都可以通过香草Java 7完成。但是这个TransactionRunner的客户端代码肯定不会像我们的lambda那样精简。 在本系列博客的下周我们将研究Java 8如何使您非常轻松地定义本地缓存范围请继续关注 参考 Java 8 Friday Goodies我们的JCG合作伙伴 Lukas Eder在JAVASQL和JOOQ博客上的本地交易范围 。 翻译自: https://www.javacodegeeks.com/2014/02/java-8-friday-goodies-local-transaction-scope.htmlq7goodies事例
http://www.zqtcl.cn/news/656499/

相关文章:

  • 网站哪些功能是PHP做的wordpress 正文宽度
  • wordpress考试主题株洲优化公司
  • 怎么做企业网站建设方案怎样查网站有没有备案
  • 浙江短视频seo优化网站专做童装的网站
  • 印刷包装公司网站模板陕西住房和城乡建设厅网站
  • 成都响应式网站建设公司网站 建设的必要性
  • 江苏省建设局官方网站查询wordpress收到登录错误
  • 个人与企业签订网站开发合同北京个人网站建设
  • 阀门网站设计dede静态网站
  • 做暧暧视频网站在线网站建设项目推文
  • 岳池发展建设集团有限公司门户网站毕设做网站工作量够吗
  • 手机网站客户端设计与实现手机网站 焦点图
  • 网站建设常用的开发语言介绍设计公司官网首页
  • 做网站能拿多少钱视频策划方案怎么写
  • 权威的顺德网站建设dw不会写代码能建立网站吗
  • 做网站美工的前途怎么样企业通讯软件下载
  • 客户说做网站价格高成都住建局官网住建智慧建管
  • 股票分析网站可以做推广吗网站开发 简历项目经历
  • 军人可以做网站吗学生信息管理系统网页设计教程
  • 使用循环视频做背景的网站青岛网站推广的价格
  • 邯山区建设局网站上海公司招聘
  • 做网站沈阳本地网站忧化 优帮云
  • 网上购物网站开发的目的建筑投标网站
  • 网站开发费用无形资产陕西省住房和城乡建设网站
  • 网站分析与优化如何编程写代码
  • 专业做网站企业百度站长管理平台
  • 网站组建 需求分析阿里巴巴网站装修
  • 网站建设怎么弄轮换图片网站制作公司dedecms
  • 南阳企业网站建设做兼职网站有哪些
  • ps做网站的优点国际设计师网站有哪些