您的位置:首页 > 其它

用vertx compose写链式操作

2017-05-26 21:24 169 查看
public static void handleAddCollection(RoutingContext routingContext){
Future<Void> futn=Future.future();
futn.setHandler(a->{
System.out.println("4最后一步:");
sendData(routingContext,"ok");
return;
});
Future<UpdateResult> fut1 = Future.future();
JsonArray params=new JsonArray().add("123").add("测试标题").add("http://baidu.com").add("");
String sql="insert into mytable (userid,title,url,pic) values (?,?,?,?)";
myDBConnecton.updateWithParams(sql,params,fut1.completer());
fut1.compose(v-> {
if(v.getUpdated()>0)System.out.println("2 插入成功了");
else System.out.println("2 插入失败了");
Future<ResultSet> fut2 = Future.future();
myDBConnecton.query("select * from mytable", fut2.completer());
return fut2;
}).compose(v -> {
List<JsonObject> data=v.getRows();
System.out.println("3查询结果为:"+data.toString());
Future<Void> fut3 = Future.future();
myDBConnecton.updateWithParams(sql,params,fut1.completer());
futn.complete();
},futn);
}


执行结果显示:
2 插入成功了
3查询结果为:[{"id":1,"userid":120,"title":"测试标题","url":"http://baidu.com","pic":"","add_time":null}, {"id":2,"userid":120,"title":"测试标题","url":"http://baidu.com","pic":"","add_time":null}]
4最后一步:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vertx compose