数据库编程加入transaction
TransManager tm = new TransManager();
tm.begin();//开启事物
try {
//sql执行代码
//
//
tm.commit();//更改完sql之后提交
}catch (Exception e){
tm.rollback();//如果在提交一半的时候错误,就回滚。
}
public static String printSybcbnryList() {// 外网
TransManager tm = new TransManager();
try {
String sql = "select t.pid,t.aac002,t.sbsj from vw_xyzlrid t ";
List addList = op.executeSQLQuery(sql);// 获取到了要更改的list
for (int x = 0; x < addList.size(); x++) {
tm.begin();
try {
BasicDynaBean bdbean = (BasicDynaBean) addList.get(x);
String aac002 = bdbean.get("aac002").toString();
String pid = bdbean.get("pid").toString();
String sbsj = bdbean.get("sbsj").toString();
// 调用信用接口
String messageString = null;
Map<String, String> map = new LinkedHashMap<String, String>();
map.put("accessKey", "rs_jgpt_zwnw");
map.put("secretKey", "rs_jgpt_zwnw170911");
map.put("objectId", aac002);
String url = "http://172.18.1.150:9010/esb/esbproxy";// ESB核心地址
String user = "esb";
String pwd = "985984FA6B44CE2751075D37FF59EECD";
String sid = "gov.xm.wbjh.getPersonCreditBriefInfo"; // 自然人信用接口
try {
messageString = EsbUtils.sendReq(url, user, pwd, sid, map);
} catch (IOException e) {
// TODO Auto-generated catch block
throw new YLZCBPException("调动信用接口失败,请联系管理员!");
}
Map resultsetMap = YlzesbResponseUtils.parseResponse(messageString);
List dataList = (List) MapUtils.getObject(resultsetMap, "retrieve");
for (int j = 0; j < dataList.size(); j++) {
Map map1 = (Map) dataList.get(j);
Xy_zlrxyxx entity = new Xy_zlrxyxx();
if (StringUtils.isEmpty((String) map1.get("OBJECT_ID"))) {
entity.setPid(pid);
entity.setQuerytime(sbsj);
entity.setQueryresult("查无结果");
op.save(entity);
break;
}
BeanHelper.copyProperties(map1, entity);
entity.setPid(pid);
entity.setOBJECT_ID(aac002);
entity.setQuerytime(sbsj);
op.save(entity);
}
tm.commit();
} catch (Exception e) {
log.info("错误", e);
tm.rollback();
}
}
return "Success";
} catch (Exception e) {
return e.getMessage();
}
}
数据库编程加入transaction的更多相关文章
- ADO.NET数据库编程
ADO.NET数据库编程 1.ADO.NET的相关概念. Microsoft的新一代技术,是ADO组件的后继者. 主要目的是在.NET Framework平台存取数据. 提供一致的对象模型,可以存取和 ...
- 提高你的数据库编程效率:Microsoft CLR Via Sql Server
你还在为数据库编程而抓狂吗?那些恶心的脚本拼接,低效的脚本调试的日子将会与我们越来越远啦.现在我们能用支持.NET的语言来开发数据库中的对象,如:存储过程,函数,触发器,集合函数已及复杂的类型.看到这 ...
- VB.NET数据库编程基础教程
关键词:作者罗姗 众所周知,VB.NET自身并不具备对数据库进行操作的功能,它对数据库的处理是通过.NET FrameWork SDK中面向数据库编程的类库和微软的MDAC来实现的.其中,ADO. ...
- 运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程,把获取的信息存入数据库
运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程 有关前两篇的链接: 运用Python语言编写获取Linux基本系统信息(一):获得Linux版本.内核.当前时间 运 ...
- java面向对象下:Java数据库编程
19.Java数据库编程: JDBC概述: JDBC(Java Database Connection)是java中提供的一套数据库编程API,它定义了一套用来访问数据库的标准Java类 ...
- Java数据库编程、XML解析技术
数据库编程 JDBC概述 是Java Database Connecive,即数据库连接技术的简称,它提供了连接各种常用数据库的能力. 是一种用于执行SQL语句的Java API,可以为多种关系数据库 ...
- .Net程序员学用Oracle系列(3):数据库编程规范
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.书写规范 1.1.大小写风格 1.2.缩进风格 1.3.换行 1.4.其它 2.命名规范 2.1.数据库对象命名 2.2.变 ...
- java 数据库编程 学习笔记 不断更新
最近开始学习java,感觉java的数据库编程需要发个随笔记录一下,话不多说 切入正题. 一.数据库访问技术的简介 应用程序 → 执行SQL语句 →数据库 → 检索数据结果 → 应用程序 ( ...
- Windows数据库编程接口简介
数据库是计算机中一种专门管理数据资源的系统,目前几乎所有软件都需要与数据库打交道(包括操作系统,比如Windows上的注册表其实也是一种数据库),有些软件更是以数据库为核心因此掌握数据库系统的使用方法 ...
随机推荐
- fpga板制作调试过程记录
2010-09-11 22:49:00 昨天淘宝准备买块fpga核心板学习,为了练习焊接,我让老板给我散料及pcb板自己焊接. 一,在物料到之前的准备: 我先设计了一下焊接测试计划 1,检查电路板:特 ...
- 模块_pip、os模块
一个python文件就是一个模块 1.标准模块 python自带的模块就是标准模块,也就是可以直接import进来的就是标准模块 import json import random import da ...
- HTML5入门教程:响应式页面布局
摘自:https://www.sohu.com/a/225633935_647584 随着互联网时代的发展,我们对网页布局有了新的要求,大气,美观,能够在不同的设备上呈现令人焕然一新的效果.此时,一个 ...
- MySQL8.0 优化
参考 https://dev.mysql.com/doc/refman/8.0/en/insert-optimization.html https://dev.mysql.com/doc/refman ...
- Shell 实践、常用脚本
(1)计算1-100的和. #!/bin/bash n= ` do n=$[$i+$n] done echo $n (2)输一个数字,然后计算出1到数字的和,要求如果输入数字小于1,则重新输入,知道输 ...
- Linux 系统开启随机端口数量 调优
Linux系统随机端口 默认Linux系统开启的随机端口范围为 32768 ~ 65535.客户端连接服务监听端口需要使用到随机端口连接. Linux系统随机端口调优 1.添加内核配置参数:/etc/ ...
- 一道简单树形dp
题意:给定一棵树,从中选出一些节点,使得不成父子关系的节点对数最多.问这个最大值是多少. 思路:首先既然是给定一颗树,先要选择合适的数据结构,来保存这颗树.由于这颗树只关心根节点在哪里,所以只需要用一 ...
- 【做题】agc016d - XOR Replace——序列置换&环
原文链接 https://www.cnblogs.com/cly-none/p/9813163.html 题意:给出初始序列\(a\)和目标序列\(b\),都有\(n\)个元素.每次操作可以把\(a\ ...
- 全面解读第四代基因测序技术Oxford Nanopore--转载
纳米孔测序技术(又称第四代测序技术)是最近几年兴起的新一代测序技术.目前测序长度可以达到150kb.这项技术开始于90年代,经历了三个主要的技术革新:一.单分子DNA从纳米孔通过:二.纳米孔上的酶对于 ...
- Spring 中StopWatch用法
背景 有时我们在做开发的时候需要记录每个任务执行时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,然后这样如果执行大量测试的话就很麻烦,并且不直观,如果想对执行的时间做进 ...