From 04e6352d22eb928700d606bdf4e40e0eb2cfe61b Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期四, 16 十二月 2021 14:29:26 +0800
Subject: [PATCH] 更新
---
src/main/java/com/zy/common/service/erp/ErpSqlServer.java | 136 ++++++++++++++++++++++++++++++++++++++-------
1 files changed, 114 insertions(+), 22 deletions(-)
diff --git a/src/main/java/com/zy/common/service/erp/ErpSqlServer.java b/src/main/java/com/zy/common/service/erp/ErpSqlServer.java
index 126c479..37c7b15 100644
--- a/src/main/java/com/zy/common/service/erp/ErpSqlServer.java
+++ b/src/main/java/com/zy/common/service/erp/ErpSqlServer.java
@@ -2,9 +2,14 @@
import com.core.common.Cools;
import com.zy.common.properties.ErpDbProperties;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
@@ -15,11 +20,12 @@
* 绠�鍗曟寔涔呭眰妗嗘灦
* Created by vincent on 2020/11/26
*/
+@Slf4j
@Service
public class ErpSqlServer {
// 鏁版嵁搴撹繛鎺�
- private Connection conn;
+// private Connection conn;
// 鍒涘缓棰勭紪璇戣鍙ュ璞★紝涓�鑸兘鏄敤杩欎釜鑰屼笉鐢⊿tatement
private PreparedStatement pstm = null;
// 鍒涘缓涓�涓粨鏋滈泦瀵硅薄
@@ -61,30 +67,86 @@
/********************************* 鏍稿績灞� *********************************/
/*****************************************************************************/
+
private List<Map<String, Object>> executeQuery(String sql) {
+ Connection conn = null;
try {
- Connection conn = getConn();
+ conn = getConn();
pstm = conn.prepareStatement(sql);
rs = pstm.executeQuery();
+// List<Map<String, Object>> maps = convertList(rs);
return convertList(rs);
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
release();
+ if (conn != null) {
+ try {
+ conn.close();
+ conn = null;
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ }
}
}
- private int executeUpdate(String sql) {
+ public Number executeQueryCount(String sql, String column) {
+ Number value = 0;
+ Connection conn = null;
try {
- Connection conn = getConn();
+ conn = getConn();
pstm = conn.prepareStatement(sql);
- return pstm.executeUpdate();
+ rs = pstm.executeQuery();
+// ResultSetMetaData metaData = rs.getMetaData();
+ while (rs.next()) {
+ value = (Number) rs.getInt(column);
+ }
+ return value;
} catch (Exception e) {
e.printStackTrace();
return 0;
} finally {
release();
+ if (conn != null) {
+ try {
+ conn.close();
+ conn = null;
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+ private int executeUpdate(String sql) {
+ Connection conn = null;
+ try {
+ conn = getConn();
+ if(null != conn)
+ {
+ pstm = conn.prepareStatement(sql);
+ } else {
+ log.error("鏇存柊ERP涓棿琛ㄥけ璐�===>>鏁版嵁搴撹繛鎺onn涓虹┖");
+ log.error("鏇存柊ERP涓棿琛ㄥけ璐�===>>" + sql);
+ }
+ return pstm.executeUpdate();
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.error("鏇存柊ERP涓棿琛ㄥけ璐�===>>" + sql);
+ log.error("鏇存柊ERP涓棿琛ㄥけ璐�===>>" + e);
+ return 0;
+ } finally {
+ release();
+ if (conn != null) {
+ try {
+ conn.close();
+ conn = null;
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ }
}
}
@@ -102,17 +164,29 @@
return list;
}
- private Connection getConn() {
- if (null == this.conn) {
- try {
- Class.forName(erpDbProperties.getDriver_class_name()).newInstance();
- this.conn = DriverManager.getConnection(erpDbProperties.getUr(), erpDbProperties.getUsername(), erpDbProperties.getPassword());
- } catch (Exception e) {
- e.printStackTrace();
- throw new RuntimeException("鑾峰彇ERP鏁版嵁搴撹繛鎺ュけ璐�");
- }
+ //synchronized
+ public Connection getConn() throws SQLException {
+ Connection conn = null;
+ try {
+ Class.forName(erpDbProperties.getDriver_class_name()).newInstance();
+ conn = DriverManager.getConnection(erpDbProperties.getUr(), erpDbProperties.getUsername(), erpDbProperties.getPassword());
+ } catch (Exception e) {
+ log.error("鑾峰彇ERP鏁版嵁搴撹繛鎺ュけ璐�");
+ e.printStackTrace();
+ throw new RuntimeException("鑾峰彇ERP鏁版嵁搴撹繛鎺ュけ璐�");
}
- return this.conn;
+ return conn;
+// if (null == this.conn || this.conn.isClosed()) {
+// try {
+// Class.forName(erpDbProperties.getDriver_class_name()).newInstance();
+// this.conn = DriverManager.getConnection(erpDbProperties.getUr(), erpDbProperties.getUsername(), erpDbProperties.getPassword());
+// } catch (Exception e) {
+// log.error("鑾峰彇ERP鏁版嵁搴撹繛鎺ュけ璐�");
+// e.printStackTrace();
+// throw new RuntimeException("鑾峰彇ERP鏁版嵁搴撹繛鎺ュけ璐�");
+// }
+// }
+// return this.conn;
}
private void release() {
@@ -130,13 +204,31 @@
e.printStackTrace();
}
}
- if (conn != null) {
- try {
- conn.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
+// if (conn != null) {
+// try {
+// conn.close();
+// conn = null;
+// } catch (SQLException e) {
+// e.printStackTrace();
+// }
+// }
+ }
+
+ /**
+ * 娣辨嫹璐�
+ */
+ public ArrayList deepClone(List list) throws Exception {
+ // 搴忓垪鍖�
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ ObjectOutputStream oos = new ObjectOutputStream(bos);
+
+ oos.writeObject(list);
+
+ // 鍙嶅簭鍒楀寲
+ ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
+ ObjectInputStream ois = new ObjectInputStream(bis);
+
+ return (ArrayList) ois.readObject();
}
}
--
Gitblit v1.9.1