JDBC获取数据库大字段
2015-12-05 15:10
190 查看
//SQL如下
String sql = "select k.order_id as orderId, k.tid_time as createTime, k.flow_trace_id as flow,g.name as goodsName, k.result_desc as msg,k.op_code as port, k.req_xml as req, k.rsp_xml as resp"
+ " from (SELECT Row_Number() over(partition by t.order_id order by c.req_time desc) lev,t.tid_time,t.flow_trace_id, t.refund_status,c.state,t.order_id,c.result_desc,c.op_code,c.req_xml,c.rsp_xml "
+ " FROM es_order_ext t left join inf_comm_client_calllog c on t.order_id = c.col3"
+ " where t.flow_trace_id = '"+link
+ "' and t.tid_time <= to_date('"+ end_time + "','yyyy/MM/dd HH24:mi:ss') "
+ "and t.tid_time >= to_date('"+ start_time +"','yyyy/MM/dd HH24:mi:ss') "
+") K,es_order_items g "
+"where k.order_id = g.order_id "
+"and k.flow_trace_id is not null "
+"and k.state in(-1,0) "
+"and k.flow_trace_id <> 'L' "
+"and k.flow_trace_id <> 'O' "
+"and LEV = 1"
+" order by k.flow_trace_id asc";
System.out.println("--获取各环节未处理异常订单 明细"+sql);
return jdbcTemplate.query(sql, new RowMapper() {
@Override
public Object mapRow(ResultSet arg0, int arg1)
throws SQLException {
OrderFlowItem orderFlowItem = new OrderFlowItem();
//bean
String orderId = arg0.getString("orderId");
String createTime = arg0.getString("createTime");
String flow = arg0.getString("flow");
String goodsName = arg0.getString("goodsName");
String msg = arg0.getString("msg");
String port = arg0.getString("port");
String req = "";
//大字段1
String resp = "";
//大字段2
Object req_obj = arg0.getBlob("req");
Object rsp_obj = arg0.getBlob("resp");
if (req_obj != null) {
Class clazz = req_obj.getClass();
Method method;
try {
method = clazz.getMethod("getBinaryStream", new Class[]{});
InputStream is = (InputStream)method.invoke(req_obj, new Object[]{});
InputStreamReader reader = new InputStreamReader(is,"GBK");
BufferedReader br = new BufferedReader(reader);
String s = br.readLine();
StringBuffer sb = new StringBuffer();
while (s != null) {// 执行循环将字符串全部取出付值给StringBuffer由StringBuffer转成STRING
sb.append(s);
s = br.readLine();
}
req = sb.toString();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
if (rsp_obj != null) {
Class clazz = rsp_obj.getClass();
Method method;
try {
method = clazz.getMethod("getBinaryStream", new Class[]{});
InputStream is = (InputStream)method.invoke(rsp_obj, new Object[]{});
InputStreamReader reader = new InputStreamReader(is,"GBK");
BufferedReader br = new BufferedReader(reader);
String s = br.readLine();
StringBuffer sb = new StringBuffer();
while (s != null) {// 执行循环将字符串全部取出付值给StringBuffer由StringBuffer转成STRING
sb.append(s);
s = br.readLine();
}
resp = sb.toString();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
orderFlowItem.setCreateTime(createTime);
orderFlowItem.setFlow(flow);
orderFlowItem.setGoodsName(goodsName);
orderFlowItem.setMsg(msg);
orderFlowItem.setOrderId(orderId);
orderFlowItem.setPort(port);
orderFlowItem.setReq(req);
orderFlowItem.setresp(resp);
return orderFlowItem;
//返回对象
}
});
String sql = "select k.order_id as orderId, k.tid_time as createTime, k.flow_trace_id as flow,g.name as goodsName, k.result_desc as msg,k.op_code as port, k.req_xml as req, k.rsp_xml as resp"
+ " from (SELECT Row_Number() over(partition by t.order_id order by c.req_time desc) lev,t.tid_time,t.flow_trace_id, t.refund_status,c.state,t.order_id,c.result_desc,c.op_code,c.req_xml,c.rsp_xml "
+ " FROM es_order_ext t left join inf_comm_client_calllog c on t.order_id = c.col3"
+ " where t.flow_trace_id = '"+link
+ "' and t.tid_time <= to_date('"+ end_time + "','yyyy/MM/dd HH24:mi:ss') "
+ "and t.tid_time >= to_date('"+ start_time +"','yyyy/MM/dd HH24:mi:ss') "
+") K,es_order_items g "
+"where k.order_id = g.order_id "
+"and k.flow_trace_id is not null "
+"and k.state in(-1,0) "
+"and k.flow_trace_id <> 'L' "
+"and k.flow_trace_id <> 'O' "
+"and LEV = 1"
+" order by k.flow_trace_id asc";
System.out.println("--获取各环节未处理异常订单 明细"+sql);
return jdbcTemplate.query(sql, new RowMapper() {
@Override
public Object mapRow(ResultSet arg0, int arg1)
throws SQLException {
OrderFlowItem orderFlowItem = new OrderFlowItem();
//bean
String orderId = arg0.getString("orderId");
String createTime = arg0.getString("createTime");
String flow = arg0.getString("flow");
String goodsName = arg0.getString("goodsName");
String msg = arg0.getString("msg");
String port = arg0.getString("port");
String req = "";
//大字段1
String resp = "";
//大字段2
Object req_obj = arg0.getBlob("req");
Object rsp_obj = arg0.getBlob("resp");
if (req_obj != null) {
Class clazz = req_obj.getClass();
Method method;
try {
method = clazz.getMethod("getBinaryStream", new Class[]{});
InputStream is = (InputStream)method.invoke(req_obj, new Object[]{});
InputStreamReader reader = new InputStreamReader(is,"GBK");
BufferedReader br = new BufferedReader(reader);
String s = br.readLine();
StringBuffer sb = new StringBuffer();
while (s != null) {// 执行循环将字符串全部取出付值给StringBuffer由StringBuffer转成STRING
sb.append(s);
s = br.readLine();
}
req = sb.toString();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
if (rsp_obj != null) {
Class clazz = rsp_obj.getClass();
Method method;
try {
method = clazz.getMethod("getBinaryStream", new Class[]{});
InputStream is = (InputStream)method.invoke(rsp_obj, new Object[]{});
InputStreamReader reader = new InputStreamReader(is,"GBK");
BufferedReader br = new BufferedReader(reader);
String s = br.readLine();
StringBuffer sb = new StringBuffer();
while (s != null) {// 执行循环将字符串全部取出付值给StringBuffer由StringBuffer转成STRING
sb.append(s);
s = br.readLine();
}
resp = sb.toString();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
orderFlowItem.setCreateTime(createTime);
orderFlowItem.setFlow(flow);
orderFlowItem.setGoodsName(goodsName);
orderFlowItem.setMsg(msg);
orderFlowItem.setOrderId(orderId);
orderFlowItem.setPort(port);
orderFlowItem.setReq(req);
orderFlowItem.setresp(resp);
return orderFlowItem;
//返回对象
}
});
相关文章推荐
- C#winform连接数据库
- Oracle体系结构理解(2)
- MySQL 5.6 for Windows 解压缩版配置安装
- 166.Oracle数据库SQL开发之 XML和ORACLE——将XML保持到数据库中
- 用户权限管理模块【表结构及SQL语句】
- 165.Oracle数据库SQL开发之 XML和ORACLE——从关系数据生成XML
- 164.Oracle数据库SQL开发之 XML和ORACLE——XML简介
- 163.Oracle数据库SQL开发之 SQL优化——优化工具
- Solr导入MySql中的数据
- 162.Oracle数据库SQL开发之 SQL优化——优化器传递提示
- 161.Oracle数据库SQL开发之 SQL优化——比较执行查询的成本
- 160.Oracle数据库SQL开发之 SQL优化——使用绑定变量
- 159.Oracle数据库SQL开发之 SQL优化——若干
- 158.Oracle数据库SQL开发之 JAVA——JDBC扩展
- 157.Oracle数据库SQL开发之 JAVA——示例程序2
- nagios插件nagiosql安装配置
- 156.Oracle数据库SQL开发之 JAVA——预备SQL语句
- 155.Oracle数据库SQL开发之 JAVA——示例程序1
- 154.Oracle数据库SQL开发之 JAVA——使用JDBC包
- MySql中存储过程的用法