package com.casic.birmm; import com.casic.birmm.util.ByteUtil; import com.casic.birmm.util.ConnectionManager; import org.apache.commons.dbutils.DbUtils; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.ArrayListHandler; import org.apache.log4j.Logger; import java.sql.Connection; import java.sql.SQLException; import java.util.List; public class UpdatePersonIrisDataFromSQLServer { public static void main(String[] args) { Connection conn = null; Connection mysqlConn = null; Logger logger = Logger.getLogger(UpdatePersonIrisDataFromSQLServer.class.getName()); String queryStr = "SELECT LIrisCodeData, LIrisCodeData2, LIrisCodeData3, RIrisCodeData, RIrisCodeData2, RIrisCodeData3 " + "FROM dbo.person WHERE IId = 839"; String updateStr = "UPDATE IRIS_DATA SET LEFT_IRIS_CODE1=?, LEFT_IRIS_CODE2=?, LEFT_IRIS_CODE3=?, " + "RIGHT_IRIS_CODE1=?, RIGHT_IRIS_CODE2=?, RIGHT_IRIS_CODE3=? " + "WHERE PERSON_ID=1210930803566186496"; try { conn = ConnectionManager.getSQLServerConnectionFromC3P0(); conn.setAutoCommit(false); mysqlConn = ConnectionManager.getMySQLConnectionFromC3P0(); mysqlConn.setAutoCommit(false); QueryRunner runner = new QueryRunner(); List<Object[]> tempList = (List<Object[]>) runner.query(conn, queryStr, new ArrayListHandler()); System.out.println(tempList.size()); for (int i = 0; i < tempList.size(); i++) { Object[] person = tempList.get(i); String leftIris1 = ""; if (person[0] != null) { leftIris1 = ByteUtil.binToHexString((byte[]) person[0]); } logger.info("left1: " + leftIris1); String leftIris2 = ""; if (person[1] != null) { leftIris2 = ByteUtil.binToHexString((byte[]) person[1]); } logger.info("left2: " + leftIris2); String leftIris3 = ""; if (person[2] != null) { leftIris3 = ByteUtil.binToHexString((byte[]) person[2]); } logger.info("left3: " + leftIris3); String rightIris1 = ""; if (person[3] != null) { rightIris1 = ByteUtil.binToHexString((byte[]) person[3]); } logger.info("right1: " + rightIris1); String rightIris2 = ""; if (person[4] != null) { rightIris2 = ByteUtil.binToHexString((byte[]) person[4]); } logger.info("right2: " + rightIris2); String rightIris3 = ""; if (person[5] != null) { rightIris3 = ByteUtil.binToHexString((byte[]) person[5]); } logger.info("right3: " + rightIris3); // 更新iris_data表 Object[] updateIrisParams = new Object[6]; updateIrisParams[0] = (byte[]) person[0]; updateIrisParams[1] = (byte[]) person[1]; updateIrisParams[2] = (byte[]) person[2]; updateIrisParams[3] = (byte[]) person[3]; updateIrisParams[4] = (byte[]) person[4]; updateIrisParams[5] = (byte[]) person[5]; runner.update(mysqlConn, updateStr, updateIrisParams); logger.info("\n"); } } catch (Exception ex) { ex.printStackTrace(); } finally { try { DbUtils.commitAndClose(mysqlConn); } catch (SQLException e) { e.printStackTrace(); } } } }